Pandas处理CSV转Excel时间数据丢失问题
在使用Pandas将CSV文件转换为Excel文件(xlsx)时,经常会遇到时间列数据丢失变成NaN的问题。本文将分析原因并提供解决方案。
问题:
从CSV文件(包含时间列,例如“审核入库时间”)导入数据到Pandas DataFrame,再保存为xlsx文件。重新读取xlsx文件时,时间列数据变为NaN。
原因分析:
Pandas读取CSV和Excel文件对日期时间数据的处理方式不同。read_csv()通常能自动识别并正确解析CSV中的日期时间,但to_excel()保存的xlsx文件可能会丢失或改变时间数据的格式信息。read_excel()默认无法识别这些格式变化,导致解析为NaN。
解决方案:
在读取xlsx文件时,使用parse_dates参数指定时间列,并用date_parser参数提供自定义函数进行日期时间解析。此函数利用pd.to_datetime(),并根据实际时间数据格式指定格式字符串。
代码示例:
假设你的时间列名为“审核入库时间”,且时间格式为“%Y-%m-%d %H:%M:%S”,则代码如下:
import pandas as pddf = pd.read_excel('output.xlsx', parse_dates=['审核入库时间'], date_parser=lambda x: pd.to_datetime(x, format='%Y-%m-%d %H:%M:%S'))
登录后复制
本文来自互联网或AI生成,不代表软件指南立场。本站不负任何法律责任。