繁体   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