从节点js中的文本文件中读取制表符分隔的数据

问题描述 投票:0回答:2

我有一个.txt文件,其中有tab(\t)和分号(;)分隔数据,我想读取数据并创建JSON对象。我尝试了正则表达式,但我无法创建正确的正则表达式。任何帮助,将不胜感激。

的test.txt

sam tory 22;raj kumar 24

output.json

[
    {
        "Fname": "sam",
        "lastname": "troy",
        "Age": "22",
    },
    {
        "Fname": "raj",
        "lastname": "kumar",
        "Age": "24",
    }
]
javascript node.js regex
2个回答
1
投票

您应该使用JavaScript split函数来拆分文本。

var r = [];
var t = "sam	tory	22;raj	kumar	24";
var v = t.split(";");
for (var i = 0; i < v.length; i++) {
  var w = v[i].split("\t");
  r.push({
    Fname: w[0],
    lastname: w[1],
    Age: w[2]
  });
}
console.log(r);

1
投票

使用fs模块读取文件的内容。

var content = fs.readFileSync("profiles.tsv", "utf8");

然后映射各个条目以将它们转换为对象:

const file = 'sam     tory	22;raj	kumar	24';
const json = file.split(';').map(profile => {
    const p = profile.split('\t');
    return {
      Fname: p[0],
      lastname: p[1],
      Age: p[2]
    };
});
console.log(json)
© www.soinside.com 2019 - 2024. All rights reserved.