快一个。
我的 XLSX 文件位于共享点驱动器上,无法在 python 中使用 openpyxl 打开它,如果它存储在我的本地驱动器上,它会很好用。
我试过了。
from openpyxl import load_workbook
wb = load_workbook('https://content.potatocompany.com/workspaces/PotatoTeam/Shared Documents/XYZ errors/XYZ Errors_Confirm.xlsx')
抛出这个异常:
C:\Anaconda\lib\site-packages\openpyxl\reader\excel.py in load_workbook(filename, use_iterators, keep_vba, guess_types, data_only)
123 except (BadZipfile, RuntimeError, IOError, ValueError):
124 e = exc_info()[1]
--> 125 raise InvalidFileException(unicode(e))
126 wb = Workbook(guess_types=guess_types, data_only=data_only)
127
InvalidFileException: [Errno 22] invalid mode ('rb') or filename: 'https://...
我错过了什么吗?我需要用 python 阅读其中一张纸的内容。
编辑:
使用 crussell 的建议,我收到 401 UNAUTHORIZED :
import requests
import urllib
from openpyxl import load_workbook
from requests.auth import HTTPBasicAuth
file = "https://content.potatocompany.com/workspaces/PotatoTeam/Shared Documents/XYZ errors/XYZ Errors_Confirm.xlsx"
username = 'PotatoUser'
password = 'PotatoPassword'
resp=requests.get(file, auth=HTTPBasicAuth(username, password))
print(resp.content)
似乎共享点和请求不兼容,同时具有摘要身份验证和基本身份验证 http://docs.python-requests.org/en/latest/user/authentication/
原文由 Gunay Anach 发布,翻译遵循 CC BY-SA 4.0 许可协议
不要尝试直接从网址加载,而是尝试使用 urllib。
从进一步的研究来看, requests 可能比 urllib 更受欢迎。尝试这个:
要安装请求: