为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Python 将多个 JSON 文件合并为一个文件(stream twitter)

使用 Python 将多个 JSON 文件合并为一个文件(stream twitter)

陪伴而非守候 2023-12-05 15:25:40
我从 Twitter 上提取了数据。目前,数据位于多个文件中,我无法将其合并到一个文件中。注意:所有文件均为 JSON 格式。我使用的代码在这里和这里。建议使用它glop 来编译 JSON 文件我编写这段代码就像我在一些关于使用 Python 合并 JSON 的教程中看到的那样from glob import glob import jsonimport pandas as pdwith open('Desktop/json/finalmerge.json', 'w') as f:     for fname in glob('Desktop/json/*.json'): # Reads all json from the current directory         with open(fname) as j:             f.write(str(j.read()))             f.write('\n')我成功合并了所有文件,现在文件是 Finalmerge.json。现在我按照几个线程中的建议使用了它:df_lines = pd.read_json('finalmerge.json', lines=True)df_lines1000000*23 columns 那么,我应该怎么做才能将每个功能放在单独的列中呢?我不确定 JSON 文件为什么有问题,我检查了合并的文件,发现它作为 JSON 文件无效?我应该怎么做才能将其作为数据框?我问这个问题的原因是我有非常基本的Python知识,而且我发现的类似问题的所有答案都比我能理解的要复杂得多。请帮助这位 Python 新用户将多个 JSON 文件转换为一个 JSON 文件。
查看完整描述

1 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

我认为问题在于您的文件并不是真正的 json (或者更好,它们的结构为jsonl)。您有两种处理方式:

  1. 您可以将每个文件作为文本文件读取并逐行合并它们

  2. 您可以将它们转换为 json(在文件开头添加方括号,并在每个 json 元素末尾添加逗号)。

您还可以尝试这样编辑代码:

with open('finalmerge.json', 'w') as f:

    for fname in glob('Desktop/json/*.json'): 

        with open(fname) as j:

            f.write(str(j.read()))

            f.write('\n')

每一行都是不同的 json 元素。


查看完整回答
反对 回复 2023-12-05
  • 1 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信