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
答案 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方法对其进行格式化。