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

Python 3.6从SharePoint URL读取Excel文件失败,寻求解决方法

解决Python读取SharePoint Excel文件的问题

问题根源

  • SharePoint的共享链接并非直接的文件下载地址,返回的是网页内容而非Excel文件,所以用pd.read_csv解析会触发格式错误
  • 未正确处理SharePoint的身份验证,导致非浏览器工具(curl/wget/初始Python代码)无法获取真实文件内容

解决方案步骤

1. 转换SharePoint链接为直接下载链接

将你的SharePoint链接中的:x:/替换为:t:/,并在末尾添加&download=1:
原链接:

https://<myOrg>.sharepoint.com/:x:/s/x-taulukot/Ec0R1y3l7sdGsP92csSO-mgBI8WCN153LfEMvzKMSg1Zzg?e=6NS5Qh

转换后下载链接:

https://<myOrg>.sharepoint.com/:t:/s/x-taulukot/Ec0R1y3l7sdGsP92csSO-mgBI8WCN153LfEMvzKMSg1Zzg?e=6NS5Qh&download=1

2. 处理身份验证并读取Excel文件

SharePoint需要身份验证,以下是两种可行方案:

方案一:NTLM身份验证(适用于域账号)

先安装依赖包:

pip install requests_ntlm pandas openpyxl

使用代码读取文件:

import requests
from requests_ntlm import HttpNtlmAuth
import pandas as pd

# 替换为转换后的下载链接
url = "https://<myOrg>.sharepoint.com/:t:/s/x-taulukot/Ec0R1y3l7sdGsP92csSO-mgBI8WCN153LfEMvzKMSg1Zzg?e=6NS5Qh&download=1"

# 替换为你的域账号和密码
auth = HttpNtlmAuth('DOMAIN\\username', 'password')
session = requests.Session()
session.auth = auth

# 发起请求并验证状态
response = session.get(url, headers={"User-Agent": "Mozilla/5.0"})
response.raise_for_status()

# 读取Excel文件(openpyxl支持.xlsx格式,xlrd支持.xls)
df = pd.read_excel(response.content, engine='openpyxl')
print(df.head())

方案二:浏览器Cookie验证(适用于临时测试)

  1. 在浏览器中打开原SharePoint链接并登录,打开开发者工具(F12)→「网络」标签,刷新页面后复制请求的Cookie字符串
  2. 用以下代码读取:
import requests
import pandas as pd

url = "https://<myOrg>.sharepoint.com/:t:/s/x-taulukot/Ec0R1y3l7sdGsP92csSO-mgBI8WCN153LfEMvzKMSg1Zzg?e=6NS5Qh&download=1"

headers = {
    "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0",
    "Cookie": "粘贴从浏览器复制的Cookie内容"
}

response = requests.get(url, headers=headers)
response.raise_for_status()

df = pd.read_excel(response.content, engine='openpyxl')
print(df.head())

错误原因说明

你之前的代码用pd.read_csv解析返回内容,但SharePoint共享链接默认返回的是网页HTML,并非CSV或Excel文件,CSV解析器试图解析HTML文本,自然会出现字段不匹配的ParserError。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 04:22:00