使用pandas.to_csv时如何指定日期格式?

时间:2012-12-22 03:40:36

标签: python pandas

to_csv()的默认输出格式为:

12/14/2012  12:00:00 AM

我无法弄清楚如何只输出具有特定格式的日期部分:

20121214

或csv文件中两个单独列中的日期和时间:

20121214,  084530

文档太简短了,无法告诉我如何做到这些。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:83)

使用新版本的Pandas,您可以使用to_csv方法的date_format参数:

df.to_csv(filename, date_format='%Y%m%d')

答案 1 :(得分:34)

您可以使用strftime将这些保存为单独的列:

df['date'] = df['datetime'].apply(lambda x: x.strftime('%d%m%Y'))
df['time'] = df['datetime'].apply(lambda x: x.strftime('%H%M%S'))

然后具体说明要导出到csv的列:

df[['date', 'time', ... ]].to_csv('df.csv')

答案 2 :(得分:0)

要导出为时间戳,请执行以下操作:

df.to_csv(filename, date_format='%s')

%s格式为not documented in python/pandas,但在这种情况下有效。

我从the dates formats of ruby找到了%sStrftime doc for C here

请注意,时间戳毫秒格式%Q不适用于熊猫(您将在字段中使用垃圾%Q而不是日期)。我用python 3.6和pandas 0.24.1来调用我的设置