首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Python (stream )将多个JSON文件合并为一个文件

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

Stack Overflow用户
提问于 2020-10-19 16:43:50
回答 1查看 897关注 0票数 0

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

注意:所有文件都是JSON格式的。

我使用的代码是这里这里

有人建议glop 编译JSON文件一起工作

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

代码语言:javascript
运行
复制
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。

现在,我按照几个线程中的建议使用了这一点:

代码语言:javascript
运行
复制
df_lines = pd.read_json('finalmerge.json', lines=True)
df_lines
1000000*23 columns 

那么,我应该如何使每个特性在单独的列中呢?

我不知道为什么JSON文件有什么问题,我检查了合并的文件,发现它作为JSON文件无效?我该怎么做才能把它变成一个数据框架?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-19 16:58:25

我认为问题在于您的文件不是真正的json (或者更好地说,它们是以强森的形式构造的)。你有两种程序方式:

  1. 您可以将每个文件读取为文本文件,并逐行合并它们。
  2. 您可以将它们转换为json (在文件开头添加一个方括号,在每个json元素的末尾添加一个逗号)。

试着跟进这个问题,让我知道它是否解决了你的问题:将JSONL文件作为JSON对象加载

您还可以尝试以这种方式编辑代码:

代码语言:javascript
运行
复制
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元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64431731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档