Большой CSV в JSON / Объект в Node.js

Я пытаюсь сделать что-то, что кажется не только довольно простым для выполнения, но и достаточно общей задачей, чтобы для этого были доступны простые пакеты. Я хочу взять большой файл 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 ГБ с ~ 40 м строк (что приведет к созданию 40 м объектов). Я ожидаю, что это потребует потоковой передачи ввода и / или вывода, чтобы избежать проблем с памятью.

Вот пакеты, которые ямы пробовали:

https://github.com/klaemo/csv-streamhttps://github.com/koles/ya-csvhttps://github.com/davidgtonge/stream-convert (работает, но это настолько медленно, что бесполезно, так как я часто изменяю набор данных. Потребовалось почти 3 часа для анализа файла csv 60 МБ)https://github.com/cgiffard/CSVtoJSON.jshttps://github.com/wdavidw/node-csv-parser (Безразлично»Кажется, он предназначен для преобразования CSV в другие форматы)https://github.com/voodootikigod/node-csvI»

Я использую узел 0.10.6 и хотел бы получить рекомендацию о том, как легко это сделать. Лучше катиться, но яя не уверен, с чего начать весь нодs потоковые функции, тем более что они изменили API в 0.10.x.

Ответы на вопрос(6)

Ваш ответ на вопрос