Python 使用xlrd从http网站打开excel

Python 使用xlrd从http网站打开excel,python,excel,xlrd,Python,Excel,Xlrd,我试图在Python 3.5.4中使用xlrd从web打开excel文件 import requests import xlrd import urllib link='http://www.bla.com/bla.xlsx' request = urllib.request.urlretrieve(link) workbook = xlrd.open_workbook(request) 我得到了这个错误 TypeError: invalid file: ('0xlxs', <h

我试图在Python 3.5.4中使用xlrd从web打开excel文件

import requests
import xlrd
import urllib

link='http://www.bla.com/bla.xlsx'
request = urllib.request.urlretrieve(link) 
workbook = xlrd.open_workbook(request)  
我得到了这个错误

TypeError: invalid file: ('0xlxs', <http.client.HTTPMessage object at 0x04600590>)
TypeError:无效文件:('0xlxs',)
有人有提示吗


谢谢

像这样的东西可能有用

import urllib2

req = urllib2.Request('http://www.bla.com/bla.xlsx')
response = urllib2.urlopen(req)
workbook = xlrd.open_workbook(response.read())

urlretrieve返回元组,而不是url内容

urllib.request.urlretrieve(url,filename=None,reporthook=None,data=None)

返回一个元组(filename,headers),其中filename是可以在其中找到对象的本地文件名,headers是由urlopen()返回的对象的info()方法返回的(对于远程对象)


这是xlsx文件
http://www.bla.com/bla.xlsx
真的可用吗?Python 3中的urllib下存在相同的功能:from urllib.request import urlopen
import requests
import xlrd
import urllib

link = 'https://raw.githubusercontent.com/SheetJS/test_files/a9c6bbb161ca45a077779ecbe434d8c5d614ee37/AutoFilter.xls'
file_name, headers = urllib.request.urlretrieve(link)
print (file_name)
workbook = xlrd.open_workbook(file_name)
print (workbook)