Как я могу преобразовать из .csv в массив / json / string в node.js - PullRequest
0 голосов
/ 28 октября 2018

У меня есть файл CSV, который я хочу использовать в файле node.js / express.Как я могу преобразовать файл в переменную типа array / json / string.Я пробовал:

fs.readFile('Resource.csv', function(err, data) {
    console.log(data)}

А также пробовал ряд других вещей, которые я мог найти в SO, но ни одна из них не работает для меня.Данные состоят из нескольких строк, если это имеет значение.

Ответы [ 2 ]

0 голосов
/ 28 октября 2018
var fs = require('fs');

var data = fs.readFileSync('Resource.csv')
    .toString() // convert Buffer to string
    .split('\n') // split string to lines
    .map(e => e.trim()) // remove white spaces for each line
    .map(e => e.split(',').map(e => e.trim())); // split each line to array

console.log(data);
console.log(JSON.stringify(data, '', 2)); // as json
0 голосов
/ 28 октября 2018

Чтобы расширить мой комментарий (из документа csvtojson)

Установить с npm i --save csvtojson

Затем вы используете модуль следующим образом:

/** csv file
a,b,c
1,2,3
4,5,6
*/
const csvFilePath='<path to csv file>' // Resource.csv in your case
const csv=require('csvtojson') //. Make sure you have this line in order to call functions from this modules
csv()
.fromFile(csvFilePath)
.then((jsonObj)=>{
    console.log(jsonObj);
    /**
     * [
     *  {a:"1", b:"2", c:"3"},
     *  {a:"4", b:"5". c:"6"}
     * ]
     */ 
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...