首页 > 解决方案 > 从 CSV 值中读取 DateTime

问题描述

我有一个 CSV 文件,如下所示:

Date,Minimum,Maximum
03-01-2020,37.23,37.34
10-01-2020,36.78,37.54

我使用 Matlab 的 2019b 可读表将数据加载到 Matlab:

data = readtable('data.csv', 'DatetimeType', 'dd-mm-yyyy')

但我收到以下错误:

Expected input to match one of these values:

'datetime', 'text'

The input, 'dd-mm-yyyy', did not match any of the valid values.

如果我只是使用:

data = readtable('data.csv')

我得到数据:

{'03-01-2020'}    37.23    37.34    36.63    36.88     5519 
{'10-01-2020'}    36.78    37.54    36.64    37.41     9093 

我错过了什么?

标签: matlabcsv

解决方案


我不认为readtable()可以处理自定义格式,但您可以手动转换它:

data = readtable('data.csv');
data.Date = datetime(data.Date, 'format', 'dd-mm-yyyy');
class(data.Date)

% ans =
%
%     'datetime'

推荐阅读