在使用JS保持文本文件格式的同时,如何将文本文件转换为CSV文件?

时间:2018-12-22 01:31:43

标签: javascript node.js csv

我正在读取一个文本文件,其中包含一些看起来像这样的数据:

This is my file
showing some data
data1 = 12
data2 = 156

我想将此数据转换为CSV文件,同时保持文本文件的相同格式,如下所示:

This,is,my,file
showing,some,data
data1,=,12
data2,=,156

我的第一次尝试是将文本文件读取为字符串。将该字符串拆分为一个数组,并在每个''(空格)字符处将其拆分。但是,这似乎不起作用。

我还尝试在每个'newline'char处将字符串拆分为一个数组,但这似乎不起作用。

有人可以引导我朝正确的方向发展吗?还是我应该怎么做?

谢谢

2 个答案:

答案 0 :(得分:4)

您应该能够:

  1. 在换行符上分割
  2. 在空白处分割
  3. 加入逗号
  4. 加入新行:

let s = `This is my file
showing some data
data1 = 12
data2 = 156`

let text = s.split('\n')                               // split lines
            .map(line => line.split(/\s+/).join(','))  // split spaces then join with ,
            .join('\n')                                // rejoin lines

console.log(text)

您还可以使用逗号替换所有非换行符空白:

let s = `This is my file
showing some data
data1 = 12
data2 = 156`

console.log(s.replace(/[^\S\n]+/g, ','))

答案 1 :(得分:0)

尝试str.replace(/ /g, ',');

代码

str = "This is my file\n\
showing some data\n\
data = 12\n\
data2 = 156";

document.write((str.replace(/ /g, ',')).replace(/\n/g,"<br />"));