You need to enable JavaScript to run this app. 如何解决Pandas从Google Drive分享链接读取CSV文件的解析异常问题
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Pandas从Google Drive分享链接读取CSV文件的解析异常问题

问题根因

你当前使用的链接是Google Drive的文件分享详情页地址,这类地址返回的是面向浏览器展示的网页HTML内容,而非CSV/XLSX的原始文件二进制流。pandas把整段HTML逐行当文本解析时,自然会出现字段数不匹配的报错,最终读入的内容就是完整的Drive网页源码。

可行实现方案

方案1:Colab 挂载Google Drive(推荐,全格式兼容)

在Colab环境下直接挂载个人Drive是最稳定的实现方式,不需要处理链接转换、权限校验问题,支持所有pandas可读取的文件格式:

  • 第一步:执行授权挂载代码,完成账号权限关联:
    from google.colab import drive
    drive.mount('/content/drive')
    
  • 第二步:挂载完成后,直接通过文件在Drive内的实际路径调用pandas读取即可,无需使用任何分享链接:
    比如你的CSV文件存储在Drive的我的数据/用户明细.csv路径下,读取代码为:
    # 读取CSV
    df = pd.read_csv('/content/drive/My Drive/我的数据/用户明细.csv', squeeze=True, on_bad_lines='skip')
    # 读取XLSX
    df_excel = pd.read_excel('/content/drive/My Drive/我的数据/用户明细.xlsx')
    

方案2:直链转换读取(无需挂载,适合公开权限文件)

如果不想做Drive挂载,可以通过转换公开文件的直链地址实现无下载读取:

  • 第一步:从原分享链接中提取文件ID,你当前的链接https://drive.google.com/file/d/1am7jNHA6Lewzws_K中,文件ID为1am7jNHA6Lewzws_K
  • 第二步:把文件ID拼接到直链模板上,获取可以直接返回原始文件流的地址:
    • 小于100MB的普通文件直链模板:https://drive.google.com/uc?export=download&id={文件ID}
    • 超过100MB的大文件直链模板(自动跳过安全验证页):https://drive.google.com/uc?export=download&confirm=t&id={文件ID}
      拼接完成的可读取直链代码为:
    file_id = "1am7jNHA6Lewzws_K"
    read_url = f"https://drive.google.com/uc?export=download&confirm=t&id={file_id}"
    
  • 第三步:直接用拼接好的直链调用pandas读取:
    df = pd.read_csv(read_url, squeeze=True, on_bad_lines='skip')
    # 读取XLSX只需将read_csv替换为read_excel即可
    

踩坑提示:

  • 原代码使用的error_bad_lines=False在pandas 1.3.0以上版本已被废弃,替换为on_bad_lines='skip'使用,避免触发参数过期警告
  • 必须提前将文件分享权限设置为“任何拥有链接的人可查看”,否则直链会因权限校验返回登录页的HTML内容,依旧会出现解析报错

内容的提问来源于stack exchange,提问作者Emilio Sánchez Vicencio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.06 12:36:03