Unable to detect datetime or duration data using readtimetable with a seconds index

13 ビュー (過去 30 日間)
Here is a toy example of my problem:
% Create a timetable with a seconds index
data = timetable(seconds(1:3)', randn(3,1), randn(3,1))
writetimetable(data, "test.csv")
data_in = readtimetable("test.csv")
Output:
data =
3×2 timetable
Time Var1 Var2
_____ ________ _________
1 sec -0.10224 0.31286
2 sec -0.24145 -0.86488
3 sec 0.31921 -0.030051
Error using readtimetable (line 190)
Unable to detect datetime or duration data in file '/Users/username/test.csv' for row times.
The content of the CSV is as follows:
Time,Var1,Var2
1 sec,-0.225584402271252,0.0325574641649735
2 sec,1.11735613881447,0.552527021112224
3 sec,-1.08906429505224,1.10061021788087
For comparison, this works fine:
% Create a timetable with a regular datetime index
dt = datetime({'2015-12-18 08:00:00';'2015-12-18 08:01:00';'2015-12-18 08:02:00'});
data = timetable(dt, randn(3,1), randn(3,1));
writetimetable(data, "test.csv")
data_in = readtimetable("test.csv")

採用された回答

Cris LaPierre
Cris LaPierre 2021 年 4 月 13 日
編集済み: Cris LaPierre 2021 年 4 月 13 日
The issue appears to be that seconds get written in a format that MATLAB cannot read back in. The only supported input formats for durations are
  • 'dd:hh:mm:ss'
  • 'hh:mm:ss'
  • 'mm:ss'
  • 'hh:mm'
  • Any of the first three formats, with up to nine S characters to indicate fractional second digits, such as 'hh:mm:ss.SSSS'
The values are written with the units: 1 sec
For now, I would recommend creating and saving the timetable using one of the recognized formats.
% Create a timetable with a seconds index
data = timetable(duration(zeros(3,1),zeros(3,1),(1:3)'), randn(3,1), randn(3,1))
data = 3×2 timetable
Time Var1 Var2 ________ ________ ________ 00:00:01 -0.35574 0.35245 00:00:02 -0.60954 -0.22619 00:00:03 0.6993 1.9414
writetimetable(data, "test.csv");
data_in = readtimetable("test.csv")
data_in = 3×2 timetable
Time Var1 Var2 ________ ________ ________ 00:00:01 -0.35574 0.35245 00:00:02 -0.60954 -0.22619 00:00:03 0.6993 1.9414
  7 件のコメント
Jiri Hajek
Jiri Hajek 2022 年 6 月 27 日
I just met with this same issue in R2022, update 2. Hopefully the incompatibility between writetimetable and readtimetable will be reslved in a future MATLAB update...
Simon Sigl
Simon Sigl 2023 年 9 月 22 日
Issue is still present in R2023a Update 3

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeTimetables についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by