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

我从 Twitter 上提取了数据。目前,数据位于多个文件中,我无法将其合并到一个文件中。

注意:所有文件均为 JSON 格式。

我使用的代码在这里这里

建议使用它glop 来编译 JSON 文件

我编写这段代码就像我在一些关于使用 Python 合并 JSON 的教程中看到的那样

from glob import glob 

import json

import pandas as pd


with 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_lines

1000000*23 columns 

那么,我应该怎么做才能将每个功能放在单独的列中呢?


我不确定 JSON 文件为什么有问题,我检查了合并的文件,发现它作为 JSON 文件无效?我应该怎么做才能将其作为数据框?


我问这个问题的原因是我有非常基本的Python知识,而且我发现的类似问题的所有答案都比我能理解的要复杂得多。请帮助这位 Python 新用户将多个 JSON 文件转换为一个 JSON 文件。


陪伴而非守候
浏览 113回答 1
1回答

喵喔喔

我认为问题在于您的文件并不是真正的 json (或者更好,它们的结构为jsonl)。您有两种处理方式:您可以将每个文件作为文本文件读取并逐行合并它们您可以将它们转换为 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 元素。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python