我正在使用urllib2获取Excel文件并保存到下面的响应中。我希望能够使用xlrd或类似方法处理此excel文件。我在下面提供了一些信息,如果我能提供更多信息,请告诉我。如何将响应对象转换为我可以使用的对象?
response = <addinfourl at 199999998 whose fp = <socket._fileobject object at 0x100001010>>
response.read() prints: '\xd0\xcf\x11\xe0...'
Headers:
Content-Type: application/vnd.ms-excel
Transfer-Encoding: chunked
答案 0 :(得分:5)
使用xlrd
并基于its API documentation,您似乎可以使用类似的内容:
book = xlrd.open_workbook(file_contents=response.read())
它似乎不支持阅读file
对象(IMO,这将是理想的),只接受filename
本身或上述file_contents
方法。
如果file_contents
不存在或不起作用,您必须使用tempfile
将响应写入临时文件并阅读。