Pandas写入Excel日期显示异常?实为macOS预览问题
别慌!你的代码没问题,是macOS预览的锅
我刚看完你的问题和代码,先给你吃个定心丸:你的Pandas代码完全正确,也没有遇到什么Pandas的bug!
先拆解下你的代码逻辑:
你先把Date列按指定格式解析为datetime类型,设置为索引后按年重采样提取高低值,反转顺序再合并,最后写入Excel。这段流程里的日期处理完全合规——resample("Y")得到的确实是每年的最后一天(比如2020-12-31),命令行打印的结果也验证了这一点,说明数据在Pandas里的存储是完全正常的。
那为什么Excel预览里会出现2021-12-36这种离谱的日期?
答案很简单:这是macOS自带的Excel文件预览功能的显示bug!你只要把生成的xlsx文件真正打开到Excel软件里(不管是Mac版还是Windows版的Excel),就会看到日期显示完全正常,只有预览窗口会把年末日期错误渲染成这种异常格式。
至于用to_csv()就没问题,是因为CSV是纯文本格式,预览时直接读取原始文本,不会触发预览工具的日期解析逻辑,自然也就不会出bug了。
给你个小建议:以后再遇到Excel文件预览异常的情况,优先打开正式的Excel软件查看真实内容,别被预览工具的错误显示误导啦~如果担心兼容性,也可以试试指定openpyxl作为写入引擎:
joined.to_excel("filename.xlsx", engine='openpyxl')
内容的提问来源于stack exchange,提问作者JamesT
相关产品推荐
相关产品推荐

