Javascript 处理字段中带换行符的csv文件-node.js

Javascript 处理字段中带换行符的csv文件-node.js,javascript,arrays,node.js,parsing,npm,Javascript,Arrays,Node.js,Parsing,Npm,我正在尝试处理字段中有换行符(\n)的csv文件。每个字段都用双引号括起来。是否有任何node.js包可以处理这种类型的csv 我试着用节点中的readline解析它。它将行检测为单独的记录,即使它们位于同一字段中。可以处理包含换行符的行: 'use strict' let csv = require('csv'); let str = `id;name;desc "1";"name1";"desc on multiple line" "2";"name2";"desc2"`; csv.p

我正在尝试处理字段中有换行符(\n)的csv文件。每个字段都用双引号括起来。是否有任何node.js包可以处理这种类型的csv

我试着用节点中的readline解析它。它将行检测为单独的记录,即使它们位于同一字段中。

可以处理包含换行符的行:

'use strict'

let csv = require('csv');

let str = `id;name;desc
"1";"name1";"desc
on multiple
line"
"2";"name2";"desc2"`;

csv.parse(str,
    {
        delimiter: ';', // default is ,
        columns: true,  // if the first of the csv line is headers
    },
    (err, data) => {
        if (err) console.log(err);
        console.log(JSON.stringify(data, null, 3));
    });

/* output:
[
   {
      "id": "1",
      "name": "name1",
      "desc": "desc\non multiple\nline"
   },
   {
      "id": "2",
      "name": "name2",
      "desc": "desc2"
   }
]
*/

/* without column: true
[
   [
      "id",
      "name",
      "desc"
   ],
   [
      "1",
      "name1",
      "desc\non multiple\nline"
   ],
   [
      "2",
      "name2",
      "desc2"
   ]
]
*/

您尝试过json-2-csv吗?只是想澄清一下,分隔符在您的csv中实际上是逗号吗?是的,是逗号分隔的csv。所有字段都用引号括起来。这里的输出是一个JSON对象数组。我发现“FastCSV”是另一个可以处理此类csv的软件包。它支持以字符串数组的形式输出,这是我想要的格式。@AthulJayson,如果您删除
列:true
(或将其设置为
false
),
csv
还提供字符串数组数组。我用不带
列的输出更新了答案:true