为pd datafram合并json文件的最佳方法

2024-09-30 20:26:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有多个json文件保存了来自请求的响应,其中每行/列表包含5条记录,如下所示

[{"Record1": "1", "Record2": "2", "Record3": "3", "Record4": "4", "Record5": "5"}]

我应该把它存起来吗责任内容返回时没有数组或响应json()哪个嵌套数组?最佳实践是什么?在

什么是最好的方法把这些放在一起(大约10万个文件),这样我就可以把它们放在熊猫数据帧中进一步分析?我试着把它放在这个上面加载.json(),但返回错误:额外数据

^{pr2}$

输出:

[{"Record1": "1", "Record2": "2", "Record3": "3", "Record4": "4", "Record5": "5"}]
[{"Record1": "1", "Record2": "2", "Record3": "3", "Record4": "4", "Record5": "5"}]
[{"Record1": "1", "Record2": "2", "Record3": "3", "Record4": "4", "Record5": "5"}]

将合并文件加载到对象中:(错误:额外数据)

f = codecs.open('combined_results.json', 'r', encoding='utf-8')
data = json.load(f)

Tags: 文件数据方法json内容列表错误记录
2条回答

您可以更改代码以将文件合并到有效的json对象中:

combined_results = []
with open('combined_results.json', 'w', encoding='utf-8') as outfile:
    for file in files:
        f = open(file, 'r')
        combined_results.append(json.load(f)[0])
    json.dump(combined_results, outfile)

现在要在数据帧中读取此文件,请尝试pd.read_json

^{pr2}$

更新:

实际上根本不需要combined_results.json文件。除非您希望将文件合并到以后要使用的单个文件中,否则可以直接将combined_results的列表转换为数据帧。在

combined_results = []
for file in files:
    f = open(file, 'r')
    combined_results.append(json.load(f)[0])

pd.DataFrame(combined_results)

尝试pd.DataFrame.from_records('combined_results.json')

相关问题 更多 >