2017-07-27 6 views
0

私は現在、次の方法でpandasデータフレームにロードしている6,000 JSONファイルを約50 GB持っています。 (各JSON行を読みながらformat_pandas機能は私パンダデータフレームを設定):50 GBのJSONをPandas Dataframeに処理する

path = '/Users/shabina.rayan/Desktop/Jupyter/Scandanavia Weather/Player Data' 
records = [] 
for filename in glob.glob(os.path.join(path, '*.JSON')): 
    file = Path(filename) 
    with open(file) as json_data: 
     j = json.load(json_data) 
     format_pandas(j) 
pandas_json = json.dumps(records) 
df = pd.read_json(pandas_json,orient="records") 

推測することができるように、これは私のデータを処理するために耐え難いほど長い時間がかかります。 50GBのJSONファイルを処理し、それを視覚化/分析することができる他の方法については、他に提案がありますか?

+1

実際に 'format_pandas()'の結果を 'records'に追加することを前提にしています。なぜあなたはJSONファイルをロードして解析して、後でJSONにシリアル化するのですか?パンダを介して再びそれらを解析する?これは非常に無駄です。特にこのような大量のデータの場合は... JSONデータを読み込むときにデータフレームを追加してみませんか? – zwer

+0

50GBのデータがある場合は、可能な限りバイナリ形式で保存することをお勧めします。フォーマットが圧縮されていない場合は、サイズが(ディスクのI/Oを除いた)1桁小さいので、読み込み速度がはるかに速くなりますので、テキストをスローして検証する必要はありません。 –

+0

@zwer。私はその部分に注意を払わなかった。それはひどいです:) –

答えて

関連する問題