2024-04-25 07:06:31 发布
网友
似乎我可以同时使用pandas和/或json来读取json文件,即
import pandas as pd pd_example = pd.read_json('some_json_file.json')
或者,相当于
所以我的问题是,有什么区别,我应该用哪一个?是否有一种方法优于另一种方法,是否存在一种方法优于另一种方法的情况,等等?谢谢。在
如果JSON文件中只有一个JSON结构,请使用read_json,因为它直接将JSON加载到数据帧中。使用json.loads,必须将其加载到python字典/列表中,然后然后加载到数据帧中—这是一个不必要的两步过程。在
read_json
json.loads
当然,这是基于这样一个假设,即结构可以直接解析到数据帧中。对于非平凡的结构(通常是复杂的dict嵌套列表的形式),您可能需要使用json_normalize。在
json_normalize
另一方面,使用JSON行文件,情况就不同了。根据我的经验,我发现在大数据上加载带有pd.read_json(..., lines=True)的JSON行文件实际上稍微慢了一点(在~50k+条记录上测试了一次),更糟糕的是,无法处理有错误的行—整个读取操作都失败了。相比之下,您可以在try-except大括号内的文件的每一行使用json.loads,这样一些健壮的代码实际上可以更快地单击几下。去想想吧。在
pd.read_json(..., lines=True)
使用适合情况的任何东西。在
如果JSON文件中只有一个JSON结构,请使用
read_json
,因为它直接将JSON加载到数据帧中。使用json.loads
,必须将其加载到python字典/列表中,然后然后加载到数据帧中—这是一个不必要的两步过程。在当然,这是基于这样一个假设,即结构可以直接解析到数据帧中。对于非平凡的结构(通常是复杂的dict嵌套列表的形式),您可能需要使用
json_normalize
。在另一方面,使用JSON行文件,情况就不同了。根据我的经验,我发现在大数据上加载带有
pd.read_json(..., lines=True)
的JSON行文件实际上稍微慢了一点(在~50k+条记录上测试了一次),更糟糕的是,无法处理有错误的行—整个读取操作都失败了。相比之下,您可以在try-except大括号内的文件的每一行使用json.loads
,这样一些健壮的代码实际上可以更快地单击几下。去想想吧。在使用适合情况的任何东西。在
相关问题 更多 >
编程相关推荐