我正在尝试从OneDrive位置下载excel文件。我的代码可以正常获取文件,但文件已损坏(我收到错误消息):
import urllib2
data = urllib2.urlopen("enter url here")
with open('C:\\Video.xlsx', 'wb') as output:
output.write(data.read())
output.close()
print "done"
我使用访客访问excel文件,这样我就不必使用身份验证了。结果文件似乎是15KB,原始文件是22KB。
答案 0 :(得分:2)
您无法使用网址直接从OneDrive下载Excel文件。即使您未经任何授权共享文件,您仍然可能会获得指向中间HTML页面的链接,而不是Excel二进制文件本身。
要从OneDrive下载项目,您首先需要进行身份验证,然后传递您之后的文件位置。您可能希望使用OneDrive REST API。有关如何执行此操作的详细信息记录在OneDrive's SDK for Python GitHub页面上,其中包含一些示例以帮助您入门。
答案 1 :(得分:0)
我明白了。网址格式如下:
'https://onedrive.live.com/view.aspx?cid=....app=Excel'
因此,我所要做的就是在该网址将“查看”更改为“下载”,并使用以下代码:
import urllib.request
url = 'https://onedrive.live.com/view.aspx?cid=.....app=Excel'
urllib.request.urlretrieve(url, "test.xlsx")