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

求助:使用Pandas读取CSV文件失败仅返回空记录的解决方法

解决Pandas读取CSV仅返回空值的问题

针对你遇到的CSV读取异常(仅第一列第一行有数据,转XLSX可正常读取),可以尝试以下几种解决方案:

1. 指定正确的换行符

该CSV文件可能使用了非标准换行符(比如旧格式的\r),Pandas默认未识别导致无法拆分行。添加lineterminator参数:

import pandas as pd
df = pd.read_csv('mensal_ss.csv', sep=';', encoding='latin1', lineterminator='\r')

2. 调整表头与行跳过设置

如果文件存在前置说明行或表头位置偏移,尝试指定表头行或跳过无效行:

  • 若表头在第一行(索引0),直接让Pandas自动识别表头(去掉names=cols避免覆盖):
df = pd.read_csv('mensal_ss.csv', sep=';', encoding='latin1', lineterminator='\r', header=0)
  • 若开头有无关行,用skiprows跳过(比如跳过前2行):
df = pd.read_csv('mensal_ss.csv', sep=';', encoding='latin1', lineterminator='\r', skiprows=2)

3. 替换编码尝试

部分Windows生成的文件使用cp1252编码(兼容latin1但支持更多特殊字符),替换编码参数测试:

df = pd.read_csv('mensal_ss.csv', sep=';', encoding='cp1252', lineterminator='\r')

4. 预处理文件内容

如果上述方法失效,先读取文件并统一换行符,再用Pandas加载:

import pandas as pd
from io import StringIO

with open('mensal_ss.csv', 'r', encoding='latin1') as f:
    content = f.read().replace('\r', '\n')

df = pd.read_csv(StringIO(content), sep=';')

验证:读取完成后执行df.head()查看前几行数据,df.info()确认数据结构是否正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:55:16