【发布时间】:2021-11-25 21:30:04
【问题描述】:
如何读取包含 JSON 内容的 gzip 文件,然后将该内容写入文本文件。
with open('.../notebooks/decompressed.txt', 'wb') as f_out:
with gzip.open(".../2020-04/statuses.log.2020-04-01-00.gz", 'rb') as f_in:
data = f_in.read()
json.dumps(data)
错误:字节类型的对象不是 JSON 可序列化的
decompressed.txt 图像(前 2 行): enter image description here
【问题讨论】:
-
我对此并不陌生。我尝试了不同的代码,如 json.dump(data,f_out) 等,但没有任何效果。
-
是否已验证 gzip 压缩文件是单个 JSON 序列化文件,以 '[' 和 ']' 或 '{' 和 '}' 开头和结尾??
-
该文件包含 twitter 数据,其结构如下: { "a":value,"b":value} { "a":value,"b":value} { "a":value, “b”:值}
-
您将使用
json.loads,而不是json.dumps将JSON 输入转换为结构。但是,如果您将其写回文件,则需要再次重新序列化它。所以看起来您需要做的就是将data写入您的输出文件,而根本不使用json。