2017-05-16 7 views
0

私は大規模なJSONファイルをロードしようとしているロード中に:メモリエラーメモリエラー大型JSONファイルのpython 3.4

MemoryError        Traceback (most recent call last) 
<ipython-input-6-88d3fb70f2f4> in <module>() 
----> 1 df1=pd.read_json("part1") 

/root/anaconda3/lib/python3.4/site-packages/pandas/io/json.py in read_json(path_or_buf, orient, typ, dtype, convert_axes, convert_dates, keep_default_dates, numpy, precise_float, date_unit, encoding, lines) 
    279   obj = FrameParser(json, orient, dtype, convert_axes, convert_dates, 
    280       keep_default_dates, numpy, precise_float, 
--> 281       date_unit).parse() 
    282 
    283  if typ == 'series' or obj is None: 

/root/anaconda3/lib/python3.4/site-packages/pandas/io/json.py in parse(self) 
    347 
    348   else: 
--> 349    self._parse_no_numpy() 
    350 
    351   if self.obj is None: 

/root/anaconda3/lib/python3.4/site-packages/pandas/io/json.py in _parse_no_numpy(self) 
    564   if orient == "columns": 
    565    self.obj = DataFrame(
--> 566     loads(json, precise_float=self.precise_float), dtype=None) 
    567   elif orient == "split": 
    568    decoded = dict((str(k), v) 

MemoryError: 
にスロー次のコマンド pandas.read_json(myfile)

を使用して(サイズ8,5 GB)を

私は32 GBのphisical RAMを持っています。私は28 GBのRAMを持っているCentOs仮想マシンで作業しています。 この問題を解決する方法はありますか?事前

+0

をロードする前にそれを保存JSONファイルから。それをデコードした結果の 'dict'を保存するためには* far *以上が必要です。 – chepner

答えて

1

ブレーク少ないあなたのラムよりもファイルに使用可能な物理メモリに応じて、JSONで おかげで、その後、それぞれをロードして、あなたがバイトを読む格納するメモリの8.5ギガバイトを必要とする別のJSONファイル

+0

jsonファイルを破壊する方法はありますか? – abdelkarim

+0

ご使用のOS> – Exprator

+0

私はCentOS7で作業中です – abdelkarim