Как импортировать ОРИГИНАЛЬНЫЕ данные времени из файлов .xlsx в MATLAB - PullRequest
0 голосов
/ 26 мая 2019

У меня есть файл .xlsx с такими частями:

enter image description here

Я хочу импортировать его в MATLAB следующим образом:

[data,txt,raw]=xlsread('filename','D1:D6')

Но это становится:

{'2019/5/26 8:17:41'}
{'2019/5/26 8:17:41'}
{'2019/5/26 8:17:41'}
{'2019/5/26 8:17:41'}
{'2019/5/26 8:17:41'}
{'2019/5/26 8:17:41'}

, который округляет мои исходные данные до секунд, НО мне нужно сохранить миллисекунды.

Когда я открываю файл данных в Excel,Я понял, откуда поступают неправильные данные.enter image description here

А теперь мой вопрос: Есть ли способ импортировать исходные данные, такие как 2019-05-26 08:17:40.501, в MATLAB? Можно принимать как datestr, так и datenum,только если он содержит то же самое с исходными данными.

Я не могу найти никакой подсказки в doc xlsread или doc importdata для решения этой проблемы.Также я видел этот вопрос на StackOverflow , который имеет аналогичные данные с моими, но с совершенно другим результатом, и я бы предположил, что это другая проблема.

1 Ответ

0 голосов
/ 26 мая 2019

Благодаря @Phil Goddard эта проблема исправлена ​​с помощью readtable, а именно:

raw=readtable('filename');

результат - таблица

enter image description here

Как видите, все идет хорошо. Данные времени на самом деле представляют собой вектор datetime, который может быть проверен с помощью raw{:,4} и может быть преобразован в datenum или datestr или что угодно.

Как правило, используйте readtable вместо xlsread.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...