我正在尝试下载在Sharepoint 2013网站上上传的Excel文件。
我的代码如下:
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 \ 0x7F部分\ x8bC \ XC3 \ XC1 \ X00 \ X00 \ X00&#34 ; \ 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 \ X00 \ X00 \ X00 \ X00 \ X1A \ X00 \ X1A \ X00 \ X12 \ X07 \ X00 \ X00 \ XD2 \ XBA \ X01 \ X00 \ X00 \ X00&#39;
我之前为另一个网站做了类似的事情,我得到了xml作为输出,这对我来说是可以接受的,但我不知道如何处理这些数据。
处理此问题的任何想法都像xlsx或xml?
或者也许以另一种方式下载xlsx?(我尝试通过wget库进行操作并且excel似乎已损坏)
任何想法都会非常有用。
此致 卡兰
答案 0 :(得分:0)
该文件似乎已加密,请求无法处理此问题 也许Web服务提供了下载和安全解码的API。
答案 1 :(得分:0)
为时已晚,但我遇到了类似问题......认为这可能有助于其他人。
尝试将输出写入文件或在打印时应用某些编码。
写入文件:
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'进行文件写入。
希望这有帮助。