似乎我可以使用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'))
所以我的问题是,差异是什么,我应该使用哪一个?是推荐的另一种方式,是否有某些情况下哪一种比另一种更好,等等?感谢。
答案 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
来获得一些强大的代码,这些代码实际上可以更快地点击几下。去搞清楚。
使用适合的情况。