首页 > 解决方案 > 从文本文件构建数组(奇怪的格式)

问题描述

我有一个如下所示的文本文件:

name
birthday
text
other



name2
birthday2
text2
other2

超过10000行。我想把它变成一个看起来像这样的javascript数组:

 [[name,birthday,text,other],[name2,birthday2,text2,other2], ...]

每 2 组之间有 4 行(“other”和“name2”之间)。手动完成需要几个小时。

我在搜索时为 javascript 找到的 readfile 函数都处理逐行格式,并且没有一个具有这样的组格式化函数。

标签: javascriptarrays

解决方案


您可以阅读文本文件并根据您期望每组的行数相应地对其进行解析:

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'] ]

推荐阅读