每月12日后日期格式异常:如何固定输出dd/mm/yy格式?
解决CSV导出日期格式混乱问题
你的问题出在最后把格式化好的字符串又转回了date对象——这种原生日期类型写入CSV时,会被pandas转成默认的日期格式,再加上Excel这类工具会自动“聪明”地猜测日期格式,才导致了部分日期被识别成mm/dd/yy。
直接用下面两种方法就能固定输出dd/mm/yy格式:
方法1:直接保留格式化后的字符串
修改转换代码,去掉最后转回date对象的步骤,让字段保持为指定格式的字符串:
df3['transaction_date'] = pd.to_datetime(df3['transaction_date']).dt.tz_convert('Asia/Kolkata').dt.strftime('%d/%m/%y')
这样导出CSV时,所有日期都会以dd/mm/yy的字符串形式写入,不会被自动转换。
方法2:导出时指定日期格式
如果需要保留date类型用于后续数据处理,可以在导出CSV的时候通过date_format参数强制指定格式:
# 先按原逻辑转换为date对象 df3['transaction_date'] = pd.to_datetime(df3['transaction_date']).dt.tz_convert('Asia/Kolkata').dt.date() # 导出CSV时指定日期格式 df3.to_csv('your_file.csv', date_format='%d/%m/%y', index=False)
两种方法都能确保导出的CSV里所有日期都是dd/mm/yy格式,不会出现自动识别混乱的情况。
内容的提问来源于stack exchange,提问作者Rahul Sharma
相关产品推荐
相关产品推荐

