我试图读取存储在GAE中的一个存储桶中的文件。
文件存储在公共存储桶中
我尝试过:
archivo=cloudstorage.open('/bucket/workbook.xlsx') wb = xlrd.open_workbook(filename=archivo)
但是xlrd希望自己打开文件,所以我得到一个TypeError
TypeError:强制为Unicode:需要字符串或缓冲区,找到ReadBuffer
有没有办法给xlrd一个打开的文件,这样我就可以在不改变xlrd.py的情况下读取文件
在问问题之前,我应该仔细阅读文档。。。
为了给xlrd提供一个打开的文件,而不是文件名,我必须提供一个文件内容。
这是通过以下方式完成的:
archivo=cloudstorage.open('/bucket/workbook.xlsx') wb = xlrd.open_workbook(file_contents=archivo.read())