pandas.DataFrame.to_csv:按列选择性应用date_format
pandas.DataFrame.to_csv: selectively apply date_format by column
我有一个包含多列的数据框
df = pd.DataFrame({'date': ['2011-01-01 10:15:20', '2016-11-17 08:22:10'],
'text': ['red', 'purple'],
'datetime': ['2011-01-01 10:15:20', '2016-11-17 08:22:10']})
我想使用 pandas' .to_csv(...)
将此 df
导出到 csv
文件,并以 [=17] 格式保存列 date
=] 但是格式 %Y-%m-%d %H:%M:%S
中的列 datetime
找不到相应修改代码的方法。
我试过了
df.to_csv('output.csv', date_format = '%Y-%m-%d')
,它转换 所有 列的日期格式,包括我想保留时间的列 datetime
。
df.to_csv('output.csv')
(不使用 date_format = ...
)显示 所有 列的日期格式为 datetime - 尚未我希望 date
列不包含时间分量。
有没有人知道如何做到这一点?
提前致谢。
我觉得选择性不行,docs:
date_format: Format string for datetime objects
解决方案是将列转换为 to_csv
之前的日期:
df['date'] = df['date'].dt.date
print (df.to_csv())
或者:
print (df.assign(date=df['date'].dt.date).to_csv())
,date,text,datetime
0,2011-01-01,red,2011-01-01 10:15:20
1,2016-11-17,purple,2016-11-17 08:22:10
我有一个包含多列的数据框
df = pd.DataFrame({'date': ['2011-01-01 10:15:20', '2016-11-17 08:22:10'],
'text': ['red', 'purple'],
'datetime': ['2011-01-01 10:15:20', '2016-11-17 08:22:10']})
我想使用 pandas' .to_csv(...)
将此 df
导出到 csv
文件,并以 [=17] 格式保存列 date
=] 但是格式 %Y-%m-%d %H:%M:%S
中的列 datetime
找不到相应修改代码的方法。
我试过了
df.to_csv('output.csv', date_format = '%Y-%m-%d')
,它转换 所有 列的日期格式,包括我想保留时间的列datetime
。df.to_csv('output.csv')
(不使用date_format = ...
)显示 所有 列的日期格式为 datetime - 尚未我希望date
列不包含时间分量。
有没有人知道如何做到这一点? 提前致谢。
我觉得选择性不行,docs:
date_format: Format string for datetime objects
解决方案是将列转换为 to_csv
之前的日期:
df['date'] = df['date'].dt.date
print (df.to_csv())
或者:
print (df.assign(date=df['date'].dt.date).to_csv())
,date,text,datetime
0,2011-01-01,red,2011-01-01 10:15:20
1,2016-11-17,purple,2016-11-17 08:22:10