python - 如何将 csv 文件读取为 dtype datetime64?

标签 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 文件?

最佳答案

您可以在 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

关于python - 如何将 csv 文件读取为 dtype datetime64?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40013975/

相关文章:

python - 如何在 Keras 的每个纪元后禁用打印报告?

mysql - 加载文件中的 str_to_date 导致 NULL 值

php - 将搜索结果输出到 Excel 或 CSV

excel - 根据左列单元格组合相邻行单元格

parsing - 我如何了解解析器组合器?

python - 将名字和姓氏标记为一个标记

python - Django headless Selenium 挂起

python - 如何在类似 future 的对象的 __await__ 中等待?

python - 如何模拟一个csv文件

java - 在 Java 中通过标题解析特定列