求助:如何将O365共享Excel文件成功导入Pandas?
你的问题核心是用了SharePoint的网页预览链接而非直接下载链接,urllib.request.urlretrieve下载的其实是网页内容,不是真实的Excel文件,自然无法被Pandas识别。
修复步骤:
转换分享链接为直接下载链接
SharePoint的共享链接需要添加下载参数才能直接获取文件。将原链接末尾加上?download=1,修改后的URL为:https://botizrt-my.sharepoint.com/:x:/g/personal/bauko_botizrt_onmicrosoft_com/ETu8P8uY5EJChvYhi4tMaqABnOLyU97Ijw2v-pEmM-jXaA?download=1使用修改后的链接下载并读取
方式一:先下载到本地再读取import urllib.request import pandas as pd url = 'https://botizrt-my.sharepoint.com/:x:/g/personal/bauko_botizrt_onmicrosoft_com/ETu8P8uY5EJChvYhi4tMaqABnOLyU97Ijw2v-pEmM-jXaA?download=1' urllib.request.urlretrieve(url, "test.xlsx") df = pd.read_excel("test.xlsx")方式二:直接通过文件流读取(无需本地保存)
import requests import pandas as pd from io import BytesIO url = 'https://botizrt-my.sharepoint.com/:x:/g/personal/bauko_botizrt_onmicrosoft_com/ETu8P8uY5EJChvYhi4tMaqABnOLyU97Ijw2v-pEmM-jXaA?download=1' response = requests.get(url) df = pd.read_excel(BytesIO(response.content))
注意事项:
- 确保网络环境可正常访问该SharePoint链接,无防火墙或代理限制。
- 如果仍报错,检查链接权限是否确实为「任何有链接的人均可编辑/查看」,权限设置有时需要几分钟生效。
内容的提问来源于stack exchange,提问作者baukoz
相关产品推荐
相关产品推荐

