0

我的团队正在尝试以 CSV 格式接受开发人员提出的问题并将其解析以放入数据库中。一些开发人员的问题中有逗号。

CSV 的格式是 Question,Answer。例如,一行可能是“嗨,你好吗,好”或“生活是什么?,42”

  fs.createReadStream(file)
    .pipe(createCsvParser())
    .on("data", (row) => {
      console.log(row);
      questionSet.push(row); //appends row to questionSet array
    })
    .on("end", () => {
      console.log("CSV file successfully processed");
    });

这是我们当前的代码。谢谢您的帮助

4

1 回答 1

0

而不是编写您的自定义代码。考虑使用CSV-Parse库。它被广泛使用并处理您所描述的情况。这是因为库使用 CSV 文件头来识别行中的数据。

安装库后

const parse = require('csv-parse/lib/sync');

const fileContent = fs.readFileSync("/filpath/fileName.csv");

const questionSet = parse(fileContent, {
    columns: true,
    skip_empty_lines: true
});

数组将包含代表 CSV 行的questionSet对象,其中您描述的情况正在处理。

于 2020-07-29T00:42:00.000 回答