如果你使用parse_dates=True
then read_csv
尝试解析index作为约会 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html。
因此,您还需要将第一列声明为索引index_col=[0]
:
In [216]: pd.read_csv('testdata.csv', dayfirst=True, parse_dates=True, index_col=[0])
Out[216]:
morgens mittags abends
Datum
2015-03-16 382 452 202
2015-03-17 288 467 192
或者,如果您不想要Datum
列作为索引,您可以使用parse_dates=[0]
明确地告诉read_csv
将第一列解析为日期:
In [217]: pd.read_csv('testdata.csv', dayfirst=True, parse_dates=[0])
Out[217]:
Datum morgens mittags abends
0 2015-03-16 382 452 202
1 2015-03-17 288 467 192
在引擎盖下read_csv
uses dateutil.parser.parse
解析日期字符串:
In [218]: import dateutil.parser as DP
In [221]: DP.parse('16.03.2015', dayfirst=True)
Out[221]: datetime.datetime(2015, 3, 16, 0, 0)
Since dateutil.parser
解析日期字符串没有问题DD.MM.YYYY
格式,您不必在此处声明自定义日期解析器。