Чтение дат из файла CSV, дающего неправильную дату - PullRequest
1 голос
/ 06 февраля 2020

У меня есть CSV-файл со столбцом дат в формате дд / мм / гггг ЧЧ: ММ. Первая запись имеет '28 / 06/2017 17:10 '. Excel почему-то отображает это как 28/06/2017 5:10:00 PM. Я хочу прочитать этот столбец в Matlab и вывести его в формате дд-мммм-гггг ЧЧ: ММ: СС. Я получаю странную дату выхода в каждом столбце с первой записью: «12 августа-0033 17:10:00», но время подходит.

Даты начинаются в столбце 2, строка 2 моего CSV-файла.

[num,txt,raw] = xlsread('winter_cruise_2017_10min_avg.csv');
formatIn = 'dd/mm/yyyy HH:MM';
A = datestr(raw(2:end,2),formatIn);
formatOut = 'dd-mmmm-yyyy HH:MM:SS';
B = datestr(A,formatOut);

1 Ответ

0 голосов
/ 12 февраля 2020

Для winter_cruise_2017_10min_avg.csv, содержащего:

28/06/2017 17:10,

Вы можете использовать datetime для правильной интерпретации:

%% Load data
[num,txt,raw] = xlsread('winter_cruise_2017_10min_avg.csv');

%% Interpret text:
formatIn = 'dd/MM/yyyy HH:mm:ss'; % Corrected!
A = datetime(raw, 'InputFormat', formatIn);
%{
A = 
  datetime
   28-Jun-2017 17:10:00
%}

%% Reformat datetime
formatOut = 'dd-mmmm-yyyy HH:MM:SS';
B = datestr(A,formatOut);
%{
B =
    '28-June-2017 17:10:00'
%}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...