簡體   English   中英

使用 Python 從 OneDrive 下載 Excel 文件導致文件損壞

[英]Using Python to download an Excel file from OneDrive results in corrupt file

我正在嘗試從 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。

您不能僅使用 URL 直接從 OneDrive 下載 Excel 文件。 即使您在未經任何授權的情況下共享文件,您仍然可能會獲得指向中間 HTML 頁面的鏈接,而不是 Excel 二進制文件本身。

若要從 OneDrive 下載項目,您首先需要進行身份驗證,然后傳遞您要查找的文件的位置。 您可能想要使用 OneDrive REST API。 OneDrive 的 SDK for Python GitHub 頁面上記錄了有關如何執行此操作的詳細信息,並提供了一些示例以幫助您入門。

我明白了。 網址格式如下:

'https://onedrive.live.com/view.aspx?cid=.....app=Excel'

所以,我所要做的就是在那個 url 處將“視圖”更改為“下載”,並使用以下代碼:

import urllib.request

url = 'https://onedrive.live.com/view.aspx?cid=.....app=Excel'

urllib.request.urlretrieve(url, "test.xlsx")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM