Pandas处理CSV转XLSX后时间数据丢失问题
在使用Pandas将CSV文件转换为XLSX文件时,经常会遇到时间列数据丢失,变成NaN值的情况。本文将提供一种有效的解决方法。
问题通常出现在使用pd.read_csv读取包含时间列的CSV文件,再用pd.to_excel保存为XLSX文件后。再次读取XLSX文件时,时间列数据变成了NaN。
根本原因在于Pandas在默认情况下无法正确识别XLSX文件中的时间数据格式。虽然CSV文件中的时间格式正确,但保存为XLSX后,Pandas可能无法自动识别,导致读取错误。
解决方法是:在读取XLSX文件时,显式指定时间列并进行日期时间解析。 利用pd.read_excel函数的parse_dates参数指定需要解析为日期时间的列,并使用date_parser参数自定义日期时间解析函数。
以下代码演示了如何解决这个问题:
df = pd.read_excel('output.xlsx', parse_dates=['审核入库时间列'], date_parser=lambda x: pd.to_datetime(x, format='%Y-%m-%d %H:%M:%S'))
代码中,parse_dates=['审核入库时间列'] 指定了需要解析为日期时间的列名(请根据实际列名修改)。date_parser=lambda x: pd.to_datetime(x, format='%Y-%m-%d %H:%M:%S') 定义了一个匿名函数,使用pd.to_datetime将读取的字符串数据转换为日期时间对象,并指定了日期时间格式为'%Y-%m-%d %H:%M:%S'。 请根据您的实际时间格式调整format参数。
通过此方法,您可以正确读取XLSX文件中的时间数据,避免NaN值的出现。
以上就是Pandas CSV转XLSX后时间数据丢失了,如何解决?的详细内容,更多请关注知识资源分享宝库其它相关文章!
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。