【问题标题】:Python pandas dataframe "Date" Index different format in xlsx and csvPython pandas数据框“日期”索引xlsx和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 读取系统设置,因此会因机器而异。

标签: python excel datetime pandas dataframe


【解决方案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.

    【讨论】:

      猜你喜欢
      • 2018-07-31
      • 2012-12-01
      • 2019-03-16
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 2018-01-18
      • 1970-01-01
      • 2020-05-17
      相关资源
      最近更新 更多