如何读取csv文件为dtype datetime64?

时间:2016-10-13 06:41:28

标签: python csv parsing datetime pandas

现在我有csv文件

 date
201605
201606
201607
201608

我想得到像这样的数据框

DF

      date
0  2016-05-01
1  2016-06-01
2  2016-07-01
3  2016-08-01

所以,我想将csvfile作为datetime64读取。 并添加日期1。 如何读取和转换此csv文件?

2 个答案:

答案 0 :(得分:2)

也许这个答案可以帮助您将列转换为日期时间对象https://stackoverflow.com/a/26763793/5982925

答案 1 :(得分:1)

您可以在read_csv中使用参数date_parser

import sys
if sys.version_info.major<3:
    from StringIO import StringIO
else:
    from io import StringIO
import pandas as pd

temp=u"""date
201605
201606
201607
201608"""

dateparser = lambda x: pd.datetime.strptime(x, '%Y%m')

#after testing replace io.StringIO(temp) to filename
df = pd.read_csv(StringIO(temp), parse_dates=[0], date_parser=dateparser)

print (df)
        date
0 2016-05-01
1 2016-06-01
2 2016-07-01
3 2016-08-01
print (df.dtypes)
date    datetime64[ns]
dtype: object