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

使用pandas read_csv读取CSV仅获前两行,求问题排查方案

解决pandas read_csv仅读取前两行的问题

首先,你的代码存在语法错误:format(person)'多了一个单引号,正确写法应为:

for person in ppl:
    dt = pd.read_csv('..//netExpo//{}_netExpo.csv'.format(person), encoding='utf-8', low_memory=False)

修正后再尝试以下方案:

排查方向与解决方案:

  • 检查并指定换行符
    Windows系统下部分CSV可能使用非标准换行符(比如\r而非默认的\r\n),导致pandas提前识别文件结束。先查看文件的原始换行符格式:
with open('..//netExpo//{}_netExpo.csv'.format(person), 'rb') as f:
    print(f.read(1000))  # 输出前1000字节的原始内容,观察换行符

根据输出结果指定lineterminator参数,比如发现换行符是\r时:

dt = pd.read_csv('..//netExpo//{}_netExpo.csv'.format(person), encoding='utf-8', low_memory=False, lineterminator='\r')
  • 切换为Python解析引擎
    默认的C引擎对特殊格式文件兼容性较差,改用Python引擎尝试解析:
dt = pd.read_csv('..//netExpo//{}_netExpo.csv'.format(person), encoding='utf-8', low_memory=False, engine='python')
  • 检查文件中的特殊结束符
    用Notepad++等文本编辑器打开CSV文件,查看第二行末尾是否存在^Z(Windows系统的文件结束符)。如果有该字符,删除后重新读取文件。

  • 跳过潜在的解析错误行
    若后续行存在特殊格式字符导致解析中断,可添加on_bad_lines='skip'参数跳过错误行:

dt = pd.read_csv('..//netExpo//{}_netExpo.csv'.format(person), encoding='utf-8', low_memory=False, on_bad_lines='skip')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:55:20