代码之家  ›  专栏  ›  技术社区  ›  unaiherran

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

  •  0
  • unaiherran  · 技术社区  · 10 年前

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

    文件存储在公共存储桶中

    我尝试过:

    archivo=cloudstorage.open('/bucket/workbook.xlsx')
    wb = xlrd.open_workbook(filename=archivo)
    

    但是xlrd希望自己打开文件,所以我得到一个TypeError

    TypeError:强制为Unicode:需要字符串或缓冲区,找到ReadBuffer

    有没有办法给xlrd一个打开的文件,这样我就可以在不改变xlrd.py的情况下读取文件

    1 回复  |  直到 10 年前
        1
  •  5
  •   unaiherran    10 年前

    在问问题之前,我应该仔细阅读文档。。。

    为了给xlrd提供一个打开的文件,而不是文件名,我必须提供一个文件内容。

    这是通过以下方式完成的:

    archivo=cloudstorage.open('/bucket/workbook.xlsx')
    wb = xlrd.open_workbook(file_contents=archivo.read())