私は、達成するのがかなり簡単であるだけでなく、それを実行するための簡単なパッケージが利用できるほど一般的なタスクであるように思われることをしようとしています. 大きな CSV ファイル (リレーショナル データベース テーブルからのエクスポート) を取り、それを JavaScript オブジェクトの配列に変換したいと考えています。.json
さらに、ファイルフィクスチャにエクスポートしたいと思います。
CSV の例:
a,b,c,d
1,2,3,4
5,6,7,8
...
必要な JSON:
[
{"a": 1,"b": 2,"c": 3,"d": 4},
{"a": 5,"b": 6,"c": 7,"d": 8},
...
]
いくつかのノード CSV パーサー、ストリーマー、自称 CSV-to-JSON ライブラリを試しましたが、必要な結果が得られないようです。または、できるとしても、ファイルが小さい場合にのみ機能します。私のファイルのサイズは約 1 GB で、行数は最大 4,000 万行です (4,000 万個のオブジェクトが作成されます)。メモリの問題を回避するには、入力や出力をストリーミングする必要があると思います。
試したパッケージは次のとおりです。
- https://github.com/klaemo/csv-stream
- https://github.com/koles/ya-csv
- https: /
- https://github.com/cgiffard/CSVtoJSON.js
- https://github.com/wdavidw/node-csv-parser (csv を他の形式に変換するようには設計されていないようです)
- https://github.com/voodootikigod/node-csv
私は Node 0.10.6 を使用していますが、これを簡単に達成する方法についての推奨事項が欲しいです。自分で開発するのがベストかもしれませんが、特に 0.10.x で API が変更されたため、Node のすべてのストリーミング機能をどこから始めればよいかわかりません。