在Python中解析/处理大型JSON文件的有效方法是什么?

在Python中解析/处理大型JSON文件的有效方法是什么?,python,json,pandas,csv,Python,Json,Pandas,Csv,对于我的项目,我必须解析两个大的JSON文件,一个是19.7GB,另一个是66.3GB。JSON数据的结构太复杂。第一级词典,第二级词典可能有列表或词典。 这些都是网络日志文件,我必须解析这些日志文件并进行分析。 将如此大的JSON文件转换为CSV是否可取 当我试图将较小的19.7GB JSON文件转换为CSV文件时,它大约有2000列和50万行。我正在使用熊猫来解析这些数据。 我没有接触过更大的66.3 GB文件。我的方向是否正确? 当我转换那个更大的文件时,会出现多少列和行,这是不知道的 如

对于我的项目,我必须解析两个大的JSON文件,一个是19.7GB,另一个是66.3GB。JSON数据的结构太复杂。第一级词典,第二级词典可能有列表或词典。 这些都是网络日志文件,我必须解析这些日志文件并进行分析。 将如此大的JSON文件转换为CSV是否可取

当我试图将较小的19.7GB JSON文件转换为CSV文件时,它大约有2000列和50万行。我正在使用熊猫来解析这些数据。 我没有接触过更大的66.3 GB文件。我的方向是否正确? 当我转换那个更大的文件时,会出现多少列和行,这是不知道的

如果有其他好的选择,请提出建议。 或者建议直接从JSON文件中读取并在其上应用OOPs概念

我已经读过这些文章了:

您可能想使用与pandas相似的语法,只是它的parallel(基本上是它的许多parallel pandas datafame)和lazy(这有助于避免ram限制)


您可以使用该方法,然后在
数据帧上进行计算

对于这类内容,您可能应该使用c而不是python。@Debanline4U无需学习新的编程语言c,您可以在python中很好地完成这项工作,我们处理的json具有2000万个键,比您的嵌套键多得多。首先将其放入Pandas dataframe,然后您可以执行任何您想要的操作..我更喜欢使用json streamer,而不是将其转换为CSV。如果可以将其转换为CSV,则结构不会那么复杂。考虑使用二进制格式,可以像HDF5或数据库这样的格式。研究DASK库和工作需要多少时间的可能副本。如果我用Read jJSON方法读取整个20 GB的数据,并将其转换成数据文件,那么它会消耗多少内存?对我来说大约是一个半小时,他们在笔记本上写下了很棒的笔记。您也可以观看,它提供了一个关于库的很好的解释。您可以指定
块大小
(因此json将不在1个分区中)进行计算,然后例如保存在csv文件中。因为它在任何时候都是懒惰的,所以整个文件都不会在内存中。hi@moshevi,我目前正在努力在Pandas中为我的实验加载Json行的大文件。我正在使用chunksize参数,特别是我注意到块越大,解析速度越快,内存输出越大。到目前为止,我达到了一个很好的平衡,有10k个块,解析时间相当长,内存使用率是原始文件的5.7倍(这个比例到目前为止相当于280Mb的输入文件和4.4GB)。你认为达斯克能在这里做什么好事吗?