如何修改Pandas DataFrame日期格式并保存到CSV文件?
问题:修改DataFrame日期格式并保存至CSV
我通过以下代码读取TSV文件生成DataFrame:
df = pd.read_csv(rawdata_trg, sep='\t', index_col=False, header=0, parse_dates=[0])
TSV文件内容:
Time A 2020-03-04 15:46:42 10
我希望把日期格式从2020-03-04 15:46:42改为04.03.2020 15:46:42,单独提取单个值时用以下代码能得到正确格式:
a = data_frame.iloc[0]['Time'].strftime('%d.%m.%Y %H:%M:%S') print(a)
输出:
04.03.2020 15:46:42
但打印整个DataFrame时看不到格式变化,请问如何将修改后的日期格式保存到CSV文件中?
解决方案
1. 批量转换日期列格式
你之前仅转换了单个元素,未修改DataFrame中Time列的整体内容。由于读取时parse_dates=[0]已经把Time列转为了datetime类型,直接对整列使用dt.strftime()方法,即可批量将其转换为指定格式的字符串并覆盖原列:
# 将Time列批量转换为目标格式的字符串 df['Time'] = df['Time'].dt.strftime('%d.%m.%Y %H:%M:%S')
执行后打印DataFrame,就能看到Time列已变为预期格式。
2. 保存到CSV文件
使用to_csv()方法保存处理后的DataFrame,按需指定分隔符和索引设置:
# 保存为CSV文件(若需TSV则将sep改为'\t') df.to_csv('formatted_data.csv', sep=',', index=False)
sep=',':CSV文件用逗号分隔,生成TSV则改为sep='\t'index=False:不保存DataFrame的索引列,避免输出文件多一列冗余内容
内容的提问来源于stack exchange,提问作者huschhusch
相关产品推荐
相关产品推荐

