2017-11-09 35 views
-4

私は、48MB(ツイートのIデータを採取)のJSONファイルを持っています。 JSONファイルをCSVに変換して、SQLデータベースにインポートしてクリーンアップする必要があります。大規模なJSONファイルをCSVに変換する

JSONからCSVへの変換を試みましたが、すべて「ファイルが限界を超えました」と同じ結果になりました。ファイルが大きすぎます。このような大規模なJSONファイルを短期間でCSVに変換する方法はありますか?

ありがとうございました!

+0

@msanfordさんはJSONからCSVへの言葉です。 @ CodyG。 –

+0

それで... – msanford

+0

非プログラミングベースのソリューションを探しているなら、Excel Power Queryがあなたの変換のために働くかどうかを調べることができます。 –

答えて

0

48MBのjsonファイルはかなり小さいです。あなたはJSONファイルに書いた方法でこの

import json 

with open('data.json') as data_file:  
    data = json.load(data_file) 

Dependendingのようなものを使用してメモリにデータをロードすることができるはず、データは多くの辞書が含まれているリストであってもよいです。試してみてください:

type(data) 

タイプがリストの場合は、各エレメントを繰り返して検査してください。例えば:

for row in data: 
    print(type(row)) 
    # print(row.keys()) 

行がdictのインスタンスであれば、あなただけのパンダ、csvモジュールまたはいずれかを使用することができ、その後、キーを検査し、ループ内で、CSVの各行が含まれている必要があり何構築を開始ファイルを開き、コンマで1行ずつ書き込んでください。

そのため、おそらくのようなもの:

import json 

with open('data.json') as data_file:  
    data = json.load(data_file) 


with open('some_file.txt', 'w') as f: 

    for row in data: 
     user = row['username'] 
     text = row['tweet_text'] 
     created = row['timestamp'] 
     joined = ",".join([user, text, created]) 
     f.write(joined) 

は、あなたはまだなどのUnicode文字、データ内のカンマ、との問題に遭遇することがあります...が、これは一般的なガイドです。

+1

良い答えのようですが、OPは何も指定していませんプログラミング言語...;( –

関連する問題