簡體   English   中英

我正在嘗試使用python請求模塊下載Excel工作表並獲取垃圾輸出

[英]I'm trying to get an excel sheet downloaded using python requests module and getting junk output

我正在嘗試下載一個Excel文件,該文件已在Sharepoint 2013網站上上傳。

我的代碼如下:

import requests
url='https://<sharepoint_site>/<document_name>.xlsx?Web=0'
author = HttpNtlmAuth('<username>','<passsword>')
response=requests.get(url,auth=author,verify=False)
print(response.status_code)
print(response.content)

這給了我很長的輸出,就像:

x00docProps / core.xmlPK \\ x01 \\ x02- \\ x00 \\ x14 \\ x00 \\ x06 \\ x00 \\ x08 \\ x00 \\ x00 \\ x00!\\ x00 \\ x7f \\ x8bC \\ xc3 \\ xc1 \\ x00 \\ x00 \\ x00 \\ x00“ \\ x01 \\ x00 \\ x00 \\ x13 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ xb8 \\ xb9 \\ x01 \\ x00customXml / item1.xmlPK \\ x05 \\ x06 \\ x06 \\ x00 \\ x00 \\ x00 \\ x00 \\ x1a \\ x00 \\ x1a \\ x00 \\ x12 \\ x07 \\ x00 \\ x00 \\ xd2 \\ xba \\ x01 \\ x00 \\ x00 \\ x00'

我之前在另一個站點上做了類似的事情,但我得到了xml作為輸出,這對我來說是可以接受的,但是我不確定如何處理該數據。

有什么想法可以像xlsx或xml這樣處理嗎?

或者也許以另一種方式下載xlsx?(我嘗試通過wget庫執行此操作,而Excel似乎已損壞)

任何想法都會很有幫助。

問候,卡蘭

為時已晚,但我遇到了類似的問題...以為它可能會幫助別人。

嘗試將輸出寫入文件或在打印時應用一些編碼。

寫入文件:

file=open("./temp.xls", 'wb')
file.write(response.content)
file.close()

要么

file=open("./temp.xls", 'wb')
file.write(response.text)
file.close()

編碼打印

print ( resp.text.encode("utf-8") )

要么

print ( resp.content.encode("utf-8") )

!進行適當的進口。 !嘗試'w'或'wb'進行文件寫入。

希望這可以幫助。

似乎文件已加密,請求無法處理。
也許Web服務提供了用於下載和安全解碼的API。

暫無
暫無

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

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