首页 > 解决方案 > 如何在 NodeJS 中创建读取 CSV 并从中创建 JSON

问题描述

这是我第一次编写 NodeJs 代码。我在这里需要一点帮助。我有一个 CSV。我想创建它的 JSON。

CSV 很简单:MyData.csv

在此处输入图像描述

这是我的代码:

csvToJson.js

const csv = require('csv-parser');
const fs = require('fs');

fs.createReadStream('CareTeamData.csv')
    .pipe(csv())
    .on('data', (row) => {
        console.log(row);
    })
    .on('end', () => {
        console.log('CSV file successfully processed');
    });

它给出了正确的输出,但没有创建文件。请帮我在同一个文件夹中创建一个文件。

标签: node.jscsv

解决方案


您可以创建一个数组,以保存由 csv-parser 解析的 CSV 的所有行,然后,最后将数据写入文件。

const csv = require("csv-parser");
const fs = require("fs");

let results = [];

fs.createReadStream("CareTeamData.csv")
    .pipe(csv())
    .on("data", (data) => results.push(data))
    .on("end", () => {
        console.log(JSON.stringify(results));
        fs.writeFile("CareTeamData.json", JSON.stringify(results), (err) =>
            console.error(err)
        );
    });

推荐阅读