You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas解析CSV日期报错:如何正确读取含日期与数值的CSV?

解决CSV读取时整行被识别为单列的问题

你遇到的这个错误,核心原因是read_csv没有正确把每行拆分成两列,导致日期解析器拿到了整行内容(包括后面的数值部分),自然会报错说有未转换的数据残留。

修正方案一:显式指定分隔符

虽然pandas默认用逗号作为分隔符,但有时候文件可能存在隐藏的格式问题(比如换行符异常、逗号前后有多余空格等),显式指定sep=','能强制pandas按逗号拆分列。修改后的代码如下:

from datetime import datetime
import pandas as pd

def parser(x):
    return datetime.strptime(x, '%Y-%m-%d %H:%M:%S')

# 新增sep=','参数,确保列拆分正确
df = pd.read_csv('filename', header=None, sep=',', parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)
print(df.head())

修正方案二:去掉自定义日期解析器(可选)

如果你的日期格式是标准的YYYY-MM-DD HH:MM:SS,pandas其实可以自动识别,不需要自定义parser函数,这样代码更简洁:

import pandas as pd

df = pd.read_csv('filename', header=None, sep=',', parse_dates=[0], index_col=0, squeeze=True)
print(df.head())

额外检查建议

如果还是有问题,打开你的CSV文件确认:

  • 每行确实是用单个逗号分隔日期和数值,没有使用其他分隔符(比如分号、制表符)
  • 每行没有多余的空格或特殊字符,比如日期和逗号之间有没有空格

内容的提问来源于stack exchange,提问作者John Doe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:55:13