web-dev-qa-db-ja.com

何がより効率的ですか:大きなJSONファイルまたは大きなCSVファイルの読み取りと解析?

Scrapyを使用してローカルWebサイトをクロールして大量のデータを取得し、それをファイルに保存する予定です。次に、そのファイルを解析して、一部のデータをSQLデータベースに格納します。

大きなCSVファイルまたはJSONファイルを読み取って解析するために、私のコンピューターはより少ないCPUとRAM=を使用しますか?

または、データを小さなCSVまたはJSONファイルの束に格納する方が理にかなっているでしょうか?

どちらにしても、私のマシンへの負担が少ないですか?

1
Username

JSONファイルの解析は、CSVファイルよりも複雑です。

JSONでは、{}、[]、 ":"、 "、"とネストネスによる複雑さを処理する必要があります。 CSVでは、改行とカラムセパレータのみを扱います。

CSVは単純であるため、チャンクごとの読み取り(ストリーミング)をはるかに簡単に実行できるため、ファイルサイズが数ギガ(4 GBを超えるなど)を超える場合は、CSVの読み取りロジックがはるかに単純で効率的になります。そのような場合、ファイル全体をRAMにロードすることができないため、チャンクごとの読み取りを強制されます...

だから、全体的に言って、CSVで行こう。

1