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

使用Pandas读取Google Sheets数据遭遇ParserError错误,寻求解决方法

解决读取Google Sheets为Pandas DataFrame时的ParserError问题

错误原因

你碰到的pandas.errors.ParserError是因为导出的CSV文件格式混乱:第3行的字段数量(243个)和预期的(89个)不匹配。通常是Google Sheets里存在以下情况导致的:

  • 单元格包含CSV默认分隔符(逗号),且未被正确包裹
  • 表格里有合并单元格
  • 部分行的列结构和表头不一致

解决方案

方案1:临时跳过错误行(快速验证)

如果可以接受跳过异常行,在read_csv里添加on_bad_lines='skip'参数:

import pandas as pd
sheet_id = "1HUbEhsYnLxJP1IisFcSKtHTYlFj_hHe5v21qL9CVyak"
df = pd.read_csv(f"https://docs.google.com/spreadsheets/d/{sheet_id}/export?gid=556844753&format=csv", on_bad_lines='skip')
print(df)

方案2:修复Google Sheets的格式问题

直接排查并修正表格本身的问题:

  • 检查所有包含逗号的单元格,要么替换成其他符号(比如分号),要么确保这些单元格内容被双引号包裹
  • 取消所有合并单元格,保证每行的列数和表头一致
  • 删除多余的空列或内容错乱的行

方案3:用gspread直接读取(最可靠)

绕过CSV导出的格式问题,直接通过Google Sheets API读取数据:

  1. 先安装依赖:
pip install gspread pandas gspread-dataframe
  1. 前往Google Cloud控制台创建服务账号,下载密钥文件(命名为credentials.json),并把该文件放到代码目录下
  2. 打开你的Google Sheets,共享给服务账号对应的邮箱(在密钥文件里的client_email字段)
  3. 运行以下代码:
import gspread
from gspread_dataframe import get_as_dataframe

# 初始化连接
gc = gspread.service_account(filename='credentials.json')
# 打开目标表格
sheet = gc.open_by_key("1HUbEhsYnLxJP1IisFcSKtHTYlFj_hHe5v21qL9CVyak")
# 选择对应gid的工作表
worksheet = sheet.get_worksheet_by_id(556844753)
# 转为DataFrame
df = get_as_dataframe(worksheet)
# 清理空行空列
df = df.dropna(how='all').dropna(axis=1, how='all')
print(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 06:33:26