使用 XLRD 从 Google 云存储读取文件 (python)

Reading a file from Google Cloud Storage with XLRD (python)

我正在尝试读取存储在我的 GAE 存储桶中的一个文件。

文件存储在 public 存储桶中

我试过:

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())