如何将Pandas的datetime64列转为字符串列表并导出CSV?
解决Pandas Timestamp列表导出CSV的格式问题
嗨,我来帮你搞定这个问题!你现在遇到的核心问题是:直接把包含Timestamp对象的列表导出到CSV时,会保留Timestamp类的字符串表示,而不是我们需要的纯日期字符串格式。下面给你几个简单有效的解决思路:
方法一:先将datetime列转为字符串,再生成列表
如果你的原始数据是DataFrame里的datetime64类型列,先把每一个日期值转成指定格式的字符串,再聚合为列表,这样导出后的列表就是纯日期字符串了:
import pandas as pd # 假设你的DataFrame是df,目标datetime列名为'datetime_col' # 先把datetime列转成指定格式的字符串,再聚合为列表 df['formatted_date_list'] = df['datetime_col'].dt.strftime('%Y-%m-%d %H:%M:%S').agg(list) # 导出CSV,记得关闭索引避免多余列 df.to_csv('your_output.csv', index=False)
方法二:处理已有的Timestamp列表列
如果你的DataFrame里已经有一列是包含Timestamp对象的列表,可以用apply遍历列表里的每个元素,把Timestamp转成字符串:
# 假设已有列表列名为'date_list' df['formatted_date_list'] = df['date_list'].apply( lambda timestamp_list: [ts.strftime('%Y-%m-%d %H:%M:%S') for ts in timestamp_list] ) # 导出CSV df.to_csv('your_output.csv', index=False)
补充说明
strftime('%Y-%m-%d %H:%M:%S')是用来指定日期字符串格式的,你可以根据需求调整格式,比如只保留日期的话用%Y-%m-%d,只保留时间用%H:%M:%S都可以。这样处理后,导出到CSV里的内容就会是你想要的['2018-05-20 10:20:00', '2018-05-20 10:30:00']这种格式啦!
内容的提问来源于stack exchange,提问作者Kavita
相关产品推荐
相关产品推荐

