【问题标题】:Google App Engine: How do I save uploaded text file to Blob, then read from it line by line?Google App Engine:如何将上传的文本文件保存到 Blob,然后逐行读取?
【发布时间】:2011-01-14 00:58:11
【问题描述】:

我有一个巨大的文件(超过 16,000 行),我想将其保存在数据存储中以供以后解析。每行包含有关实体的信息。

如何从存储的 Blob 中逐行读取?

我似乎在任何地方都找不到关于 Blob 的好的教程或文档。 GAE 只展示了如何处理图像,但我想存储的文本文件中读取。

【问题讨论】:

  • 我假设您说的是 Blobstore API,它确实有使用图像 API 的文档。您的应用程序无法以任何其他方式与大于 1MB 的 Blobstore 数据进行交互;访问更小的 blob 的唯一方法是使用 urlfetch,它有 1MB 的限制。

标签: python google-app-engine blob


【解决方案1】:

使用Text type 来存储它而不是一个blob。文本对大小没有任何限制,但它不可索引或不可查询。

因此,如果您只想按顺序逐行访问数据,它会完美运行。

【讨论】:

    【解决方案2】:

    如果您只需要 blob 中的行,只需执行以下操作:

    lines = blob.split("\n")
    

    如果您需要将 blob 视为文件,请执行以下操作:

    fh = StringIO.StringIO(blob)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-05
      • 2011-08-25
      • 2017-05-04
      相关资源
      最近更新 更多