从 Excel 导出的 Pandas DateTime 中删除时间

RR3*_*R33 4 python datetime pandas

我有一个使用 pyODBC 查询的 Pandas Dataframe,它返回“日期”作为浮点数。在转换为具有 ymd 格式的字符串后,我将数据类型更改为日期时间,然后使用 ExcelWriter 创建一个 Excel 文件。生成的 Excel 数据保留 yyyymmdd 00:00:00 格式。一些帖子建议在 Pandas 中创建“helper”列并使用 dt.normalize (?),但我想在导出时完成这一切......可能吗?一般来说更好的方法?

注意[日期]是三列的列表

df[date] = df[date].apply(lambda x: pd.to_datetime(x.astype(str), format = '%Y%m%d'))

df Col 1

2017-01-19 
2016-12-29 
2017-01-04
2016-12-29
2017-01-04  

writer = ExcelWriter('MyData.xlsx', date_format = 'yyyy mm dd')

df.to_excel(writer, 'DATA')

writer.save()

2017-01-19 00:00:00
2016-12-29 00:00:00
2017-01-04 00:00:00
2016-12-29 00:00:00
2017-01-04 00:00:00
2017-01-04 00:00:00
2017-01-16 00:00:00
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 5

pandas我认为使用有问题datetime,所以还需要定义datetime_format

文档

writer = pd.ExcelWriter('MyData.xlsx', 
                        date_format = 'yyyy mm dd', 
                        datetime_format='yyyy mm dd')
Run Code Online (Sandbox Code Playgroud)

图片

  • 有没有办法在阅读文档时或不使用 ExcelWriter 对象的情况下执行此操作。 (3认同)