【问题标题】:Parsing CSV in NodeJS by last comma only仅通过最后一个逗号在 NodeJS 中解析 CSV
【发布时间】:2020-11-18 12:25:47
【问题描述】:

我的团队正在尝试以 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");
    });

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

【问题讨论】:

    标签: node.js csv web-applications text-parsing node-csv-parse


    【解决方案1】:

    而不是编写您的自定义代码。 考虑使用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
    });
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 2021-11-28
      • 1970-01-01
      • 2011-11-20
      相关资源
      最近更新 更多