Pandas vs JSON库用Python读取JSON文件

时间:2018-05-04 05:33:09

标签: python json pandas

似乎我可以使用pandas和/或json来读取json文件,即

import pandas as pd
pd_example = pd.read_json('some_json_file.json')

或等同地

import json
json_example = json.load(open('some_json_file.json'))

所以我的问题是,差异是什么,我应该使用哪一个?是推荐的另一种方式,是否有某些情况下哪一种比另一种更好,等等?感谢。

1 个答案:

答案 0 :(得分:2)

如果在json文件中有一个JSON结构,请使用read_json,因为它会将JSON直接加载到DataFrame中。使用json.loads,您需要将其加载到python词典/列表中,然后然后加载到DataFrame中 - 这是一个不必要的两步过程。

当然,这是假设结构可以直接解析为DataFrame。对于非平凡的结构(通常是复杂的嵌套列表的形式),您可能希望使用json_normalize

另一方面,使用JSON 文件,故事会变得不同。根据我的经验,我发现加载一个带有pd.read_json(..., lines=True)的JSON行文件实际上在大数据上稍微较慢(在~50k +记录上测试一次),更糟糕的是,无法处理有错误的行 - 整个读操作失败。相比之下,您可以在try-except大括号内的文件的每一行上使用json.loads来获得一些强大的代码,这些代码实际上可以更快地点击几下。去搞清楚。

使用适合的情况。