Javascript 如何将带有行间距的文本写入CSV文件?

Javascript 如何将带有行间距的文本写入CSV文件?,javascript,csv,npm,Javascript,Csv,Npm,我在一个带有字符串的对象中获取产品描述。 我想将数据写入CSV文件,以便进行数据分析 我需要的数据是视觉好看,所以我可以很容易地阅读它。 问题是,到目前为止,我得到的只是一堆很难读懂的字符串 如果从excel进行编辑,将使用Alt+Enter,这将在同一行中创建一些空间。 如何使用一些行距写入文件,而不会在excel中创建新行 我发现: \n被复制为测试 \r\n正在开始一个新行,而不是仅间隔该行 例如: fs.appendFile(`./data/testCSV.csv`, encodeUR

我在一个带有字符串的对象中获取产品描述。 我想将数据写入CSV文件,以便进行数据分析

我需要的数据是视觉好看,所以我可以很容易地阅读它。 问题是,到目前为止,我得到的只是一堆很难读懂的字符串

如果从excel进行编辑,将使用Alt+Enter,这将在同一行中创建一些空间。 如何使用一些行距写入文件,而不会在excel中创建新行

我发现:

  • \n
    被复制为测试
  • \r\n
    正在开始一个新行,而不是仅间隔该行
  • 例如:

    fs.appendFile(`./data/testCSV.csv`,  encodeURIComponent(element.name +'\r\n'+ element.description + '\r\n'+ element.short_description), function (err) {
     if (err) throw err;
    });
    
    将它分成3行

    下面是一个我希望它看起来像什么的例子:


    还试图找到NPM解析器,但它们都会创建新行。

    要在csv中包含多行字段,您需要用引号括起字段:

    123,"multi 
    line 
    text",456
    
    字段内的引号必须用另一个引号转义:

    123,"Samsung 
    24"" 
    monitor",456
    
    不过,我不确定Excel是否能做到这一点。

    多亏了Danny

    此变量版本运行良好:

     `"${x} \n ${y} \n\n ${z}"` 
    

    您是否在文本编辑器中打开了用Excel创建的版本,以便查找使用
    Alt
    +
    Enter
    的换行符是如何编码的?是的,只是用“”敲击它。当我使用在线查看不可打印的Unicode字符工具时,我发现:crlf-between。但是找不到如何使用此info.Btw。没有必要用反标记将路径(即
    `./data/testCSV.csv`
    )括起来,因为它不包含模板文本中的嵌入表达式。将路径用单引号或双引号括起来。True,但如何将其添加到JS字符串中?我得到的字符串是原样的,我只能使用脚本拼接和连接其他字符串。我不能只按Enter键。@yoni349您可以只使用
    \n
    \r\n
    ,但我不会把它放在
    encodeURIComponent()
    中。这只是在excel中结束和开始一个新行。我需要它在同一单元格/行中空格。@yoni349您可以为上面的多行字段创建以下字符串:
    “multi\nline\ntext”
    “multi\n\nline\n\ntext”
    ,如果您希望中间有空行。这些空格似乎是不必要的,根据您的问题示例,应该是:
    `${element.name}\n${element.description}\n\n${element.short_description}`