Преобразовать объект javascript в файл CSV

У меня есть скрипт, который читает строку за строкой, генерирует объект с некоторыми полями из определенных строк, и теперь я хочу поместить этот сгенерированный объект в файл CSV.

Как я могу сделать следующее:

  1. Из самого скрипта генерируем файл CSV

  2. Присвойте начальные поля (заголовки) файлу

  3. Обновляйте этот файл построчно (добавляйте в файл по одной строке за раз)

Некоторые уточнения, я не знаю заранее размер CSV, поэтому файл должен динамически изменяться.

Заранее спасибо.

1 ответ

Решение

Глядя на то, что вы сказали:

  1. Из самого скрипта сгенерируйте файл csv

    • Посмотрите на node-csv-generate, который позволяет легко генерировать строки csv
  2. Задайте начальные поля (заголовки) для файла & 3. Обновите этот файл построчно (добавляйте в файл по одной строке за раз)

    • Ознакомьтесь с функциональностью потока node-csv-generate, чтобы записывать индивидуально построчно (т.е. сначала заголовки)

Теперь, так как вы сказали, что вам нужно запустить его локально, я бы порекомендовал Rhino, если просто используете JS, но если требуется node.js, посмотрите Rhinodo. Это позволит вам запускать программу локально на JVM (вы можете вызвать JS из Java, если хотите).

Чтобы экспортировать файл CSV, есть много примеров в Интернете, так что этот поток является одним... т.е.

var encodedUri = encodeURI(csvContent);
window.open(encodedUri);

Где csvContent - полная строка вашего csv. Я не уверен, насколько это поддерживается на Rhinodo, но я уверен, что все это будет работать на Rhino.


Если это приложение предназначено исключительно для настольных компьютеров, я бы посмотрел на использование Java (или ваш предпочтительный язык Python или C# может быть лучше в зависимости от того, к чему вы привыкли:-)), а не JS, если все должно быть локальным и это намеревается быть широко используемым. Таким образом, вы получите более чистое взаимодействие с ОС и намного больше контроля.

Надеюсь, это поможет!

Другие вопросы по тегам