使用pandas.to_csv到YYYY-MM-DD时如何指定日期格式?

时间:2015-05-14 19:38:42

标签: python date pandas

this post的OP强调缺少在pandas中使用date_format参数的文档。我想在使用to_csv命令时将数据格式化为YYYY-MM-DD,而不是MM / DD / YYYY。

我尝试过:frame.to_csv(output_dir, index=False, encoding='utf-8', date_format='%Y-%m-%d')并且它无效,其中frame是DataFrame

我正在尝试转换的文件here

3 个答案:

答案 0 :(得分:2)

to_csv已作为参数date_format

支持此功能
t="""date,val
12/05/1984,sadas
1/11/1980,sadas
2/4/1945,sadas
22/10/1921,sadas"""
df = pd.read_csv(io.StringIO(t), parse_dates=[0])
df.to_csv(r'c:\data\date.csv', date_format='%Y-%m-%d')

收率:

,date,val
0,1984-12-05,sadas
1,1980-01-11,sadas
2,1945-02-04,sadas
3,1921-10-22,sadas

格式字符串的格式取自strftime

答案 1 :(得分:1)

您可以使用标准的日期时间字符串格式化行为,这里将是: df.to_csv(' df.csv,date_format ="%Y-%m-%d") https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior

编辑:不要使用strftime迭代数据框,这是非常不优化的,并且已经有一个用于执行所需操作的内置函数

答案 2 :(得分:0)

你展示了迭代csv'行并获取每个date,并使用日期时间的strptime方法对其进行格式化。