<p>如果使用<code>parse_dates=True</code>,则<code>read_csv</code>尝试<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html" rel="noreferrer">parse the <em>index</em> as a date</a>。
因此,您还需要使用<code>index_col=[0]</code>将第一列声明为索引:</p>
<pre><code>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
</code></pre>
<p>或者,如果不希望<code>Datum</code>列成为索引,可以使用
<code>parse_dates=[0]</code>显式告诉<code>read_csv</code>将第一列解析为日期:</p>
<pre><code>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
</code></pre>
<hr/>
<p>在引擎盖下<code>read_csv</code>使用<code>dateutil.parser.parse</code>解析日期字符串:</p>
<pre><code>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)
</code></pre>
<p>因为<code>dateutil.parser</code>在解析<code>DD.MM.YYYY</code>格式的日期字符串时没有问题,所以您不必在这里声明自定义日期解析器。</p>