我可以访问一组文件(每个文件大小在80-800MB之间)。不幸的是,每个文件只有一行内容。该行包含一个JSON对象(列表的列表)。如何最好地将其加载和解析为较小的JSON对象?
我可以访问一组文件(每个文件大小在80-800MB之间)。不幸的是,每个文件只有一行内容。该行包含一个JSON对象(列表的列表)。如何最好地将其加载和解析为较小的JSON对象?
模块pandas 0.21.0
现在支持read_json
中的chunksize。您可以一次加载和操作一个chunk:
import pandas as pd
chunks = pd.read_json(file, lines=True, chunksize = 100)
for c in chunks:
print(c)
这里已经有一个类似的帖子 链接。他们提出的解决方案如下:
import json
with open('file.json') as infile:
o = json.load(infile)
chunkSize = 1000
for i in xrange(0, len(o), chunkSize):
with open('file_' + str(i//chunkSize) + '.json', 'w') as outfile:
json.dump(o[i:i+chunkSize], outfile)
[
-> ]
、{
-> }
和 "
-> "
。不过应排除掉\ "
。 您可以在http://www.json.org/上检查规范。]
并且在弹出匹配的 [
后,栈只有一个项目(顶级 '[')时,则知道是开始新行的时候了。[
和最后一个 ]
不出现在您的输出中。