我想用Openpyxl(Python)打开一个Excel文件(在Onedrive上)。我在尝试此操作时收到错误:
from openpyxl import load_workbook
file = r"https://d.docs.live.net/dd10xxxxxxxxxx"
wb = load_workbook(filename = file)
self.fp = io.open(file, filemode)
OSError: [Errno 22] Invalid argument: 'https://d.docs.live.net/dd10...
3条答案
按热度按时间ergxz8rk1#
OpenPyXL不能通过http读写文件。它需要一个传统文件系统上的文件,无论是本地文件系统还是网络共享文件系统等等。
如果您使用的是OneDrive For Business,则可以尝试mapping it to a drive letter,或者研究Google Sheets和gspread库的使用情况。
roejwanj2#
如果不需要验证,从Onedrive复制共享URL并转换为直接下载URL,然后请求直接URL作为Openpyxl可以上传的字节文件。
示例onedrive url来自我的本地驱动器,只是为了清楚起见。
注意转换函数是Joe T从OneDrive as Data Storage for Python Project复制而来。桑塔纳瓦尼奇
1l5u6lss3#
另一种方法是使用谷歌驱动器,而不是一个驱动器,然后打开谷歌colab,挂载谷歌驱动器,并打开文件从谷歌驱动器。