我有一个文本文件,如下所示:
name
birthday
text
other
name2
birthday2
text2
other2
超过10000行。 我想把它变成一个像这样的javascript数组:
[[name,birthday,text,other],[name2,birthday2,text2,other2], ...]
每2组之间有4行(“ other”和“ name2”之间)。我要花几个小时才能手动完成。
我在搜索时为javascript找到的readfile函数都处理逐行格式,而没有一个具有类似的组格式化功能。
答案 0 :(得分:0)
您可以阅读文本文件并根据每个组期望的行数进行相应的解析:
const fs = require('fs')
fs.readFile('test.txt', 'utf-8', (err, data) => {
let rows = data.split('\n\n\n\n').map(row => row.split('\n'))
console.log(rows)
})
'\n\n\n\n'
的第一个拆分用于4行分隔。
这将打印:
[ ['name', 'birthday', 'text', 'other'], ['name2', 'birthday2', 'text2', 'other2'] ]
答案 1 :(得分:0)
@dandavis的答案非常有效。
将整个文件加载到一个字符串中,然后执行以下操作:
var myarray = str.split(/\n{3,}/).map(x=>x.trim().split(/\n/));