小编lpd*_*lpd的帖子

python加载1GB大json文件时内存错误如何解决?

我正在尝试将 json 文件转换为 csv 但出现内存错误。有没有有效的方法来微调此代码以在 python 中处理大型 json 文件。

def change(row, pastkeys=()):
result = {}
c=0
for key in row:
    c=c+1
    newkey = pastkeys + (key,)
    print key
    val = row[key]
    if isinstance(val, dict):
        result.update(change(val, newkey))
    elif isinstance(val, list):
        result.update(change(dict(zip(range(0, len(val)), val)), newkey))
    else:
        result[newkey] = val
return result
a=open(sys.argv[1],'r')
lines=list(a)
 print lines
out1=open(sys.argv[2],'w')
try:
  data = json.loads(''.join(lines))
  if isinstance(data, dict):
    data = [data]
  except ValueError:
    data = [json.loads(line) for line in lines]
 result = []
 fields = set()
 for …
Run Code Online (Sandbox Code Playgroud)

python csv io out-of-memory

1
推荐指数
1
解决办法
5952
查看次数

标签 统计

csv ×1

io ×1

out-of-memory ×1

python ×1