首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas:将日期写入Excel,使其可用作日期

Pandas:将日期写入Excel,使其可用作日期
EN

Stack Overflow用户
提问于 2021-07-08 22:06:03
回答 1查看 26关注 0票数 1

我不能让输出的XLSX以可用的方式写入日期,我遵循了一些熟悉的线程,比如:

https://xlsxwriter.readthedocs.io/example_pandas_datetime.html

Problem with Python Pandas data output to excel in date format

以下是MWE:

代码语言:javascript
复制
import pandas as pd
import xlsxwriter

not_in1 = ['missing']
# generate data
df = pd.DataFrame({'date1': ['5/1/2022 00:33:22', '3/1/2022 00:33:22', 'missing'], 'date2': ['3/1/2022 00:33:22', 'missing', '6/2/2022 00:33:22']})
# format
df['date1'] = df['date1'].apply(lambda x: pd.to_datetime(x).strftime('%m/%d/%Y') if x not in not_in1 else x)
df['date2'] = df['date2'].apply(lambda x: pd.to_datetime(x).strftime('%m/%d/%Y') if x not in not_in1 else x)

# write
path = 'C:\\Users\\Andrew\\Desktop\\xd2.xlsx'
with pd.ExcelWriter(path, engine='xlsxwriter', date_format="mm dd yyyy", datetime_format="mm dd yyyy") as writer:
    df.to_excel(writer, sheet_name='Sheet1', index=False)
    workbook  = writer.book
    worksheet = writer.sheets['Sheet1']
    formatdict = {'num_format':'mm/dd/yyyy'}
    fmt = workbook.add_format(formatdict)
    worksheet.set_column('A:B', 20, fmt)

在这里,作为XLSX,Excel不知道该怎么做:

https://i.stack.imgur.com/PBrAi.png

有趣的是,如果我将XLSX表保存为CSV,日期就可以正常工作。

https://i.stack.imgur.com/tROFc.png

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-08 22:52:29

您的lambda函数将x参数转换为字符串,您应该将其保留为datetime。目前,您在Excel中得到了一个字符串(使用Excel的type查看.csv和.xlsx文件之间的区别)。

只需移除.strftime('%m/%d/%Y'),您就会好起来。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68303208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档