Python pandas数据框“日期”索引xlsx和csv中的不同格式
Posted
技术标签:
【中文标题】Python pandas数据框“日期”索引xlsx和csv中的不同格式【英文标题】:Python pandas dataframe "Date" Index different format in xlsx and csv 【发布时间】:2016-10-09 09:13:46 【问题描述】:我有一个带有多个选项卡的 xlsx 文件,每个选项卡都有一个 Date
列,格式为 MM/DD/YYYY
将每个标签读入pandas数据框,对每个标签应用一些操作,然后将数据框写回两种格式:xlsx和csv
在 xlsx 文件中,Date
列(索引)变为附有时间的格式:1/1/2013 12:00:00 AM
,而 csv 文件中的Date
列保持不变:MM/DD/YYYY
如何确保 xlsx 文件中的 Date
列保持相同的格式 MM/DD/YYYY
?
【问题讨论】:
Excel 读取系统设置,因此会因机器而异。 【参考方案1】:您可以将日期转换为字符串。如果日期在索引中,您可以这样做:
df.set_index(df.index.map(lambda x: x.strftime('%m/%d/%Y'))).to_excel()
【讨论】:
【参考方案2】:您看到的是默认 pandas Excel 日期时间格式的日期时间。但是,您可以轻松地将其设置为任何您想要的:
# Set the default datetime and/or date formats.
writer = pd.ExcelWriter("pandas_datetime.xlsx",
engine='xlsxwriter',
date_format='mm/dd/yyy',
datetime_format='mm/dd/yyyy')
# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')
查看 XlsxWriter 文档中的完整示例:示例:Pandas Excel output with date times.
【讨论】:
以上是关于Python pandas数据框“日期”索引xlsx和csv中的不同格式的主要内容,如果未能解决你的问题,请参考以下文章
Python Pandas 数据框:对于一年中的每个月,如果月份不存在,则将当月最后一天的日期添加到索引中,或者删除重复项
如何使用另一个日期时间索引获取具有日期时间索引的 Pandas 数据框中的行?