我有一个现有的 json 文件,格式为 dicts 列表。
$cat output.json
[{'a':1, 'b':2}, {'a':2, 'b':3}]
我有一个 DataFrame
df = pd.DataFrame({'a':pd.Series([1,2], index=list('CD')), \
"b":pd.Series([3,4], index=list('CD')})
我想用 to_json 保存“df”以将其附加到文件 output.json:
df.to_json('output.json', orient='records') # mode='a' not available for to_json
* to_csv 有 append mode='a',但实际上 to_json 没有。
预期生成的 output.json 文件将是:
[{'a':1, 'b':2}, {'a':2, 'b':3}, {'a':1, 'b':3}, {'a':2, 'b':4}]
现有文件 output.json 可能很大(比如 Tetabytes),是否可以在不加载文件的情况下附加新的数据帧结果?
最佳答案
不,您不能在不使用 pandas
重写整个文件的情况下附加到 json 文件。或 json
模 block 。您可以通过在 a
中打开文件来“手动”修改文件。模式并寻找正确的位置并插入您的数据。不过我不推荐这个。如果您的文件将比您的 RAM 大,最好只使用 json 以外的文件格式。
此 answer也可能有帮助。它不会创建有效的 json 文件(而是每一行都是一个 json 字符串),但它的目标与您的非常相似。
关于python - 如何以追加模式将 DataFrame 导出到_json - Python Pandas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30227872/