如果文件在一行中有多个数据,如何使用pipe(|)fs模块分隔,如何读取文本文件?



我正在尝试使用节点js fs模块读取文本文件。 我的第一个问题是,fs模块是否也支持只读文本文件或其他文件格式?

现在我的主要问题是文本文件是否具有如下所示的数据,如何在文件中分别读取每个数据?..请注意,行中的某些单元格也可能是空的。

James|Allister|12345|28|Sunderland|14
Andy|Cook|88888|33|New Jersey|16
Maria|Konsick|44||34 

fs模块不理解文件格式,它只读取缓冲区。 (可选)它可以将缓冲区转换为字符串。 至于那个文件,它是一个csv,只是带有|而不是,

解析它类似于:

// split the lines into rows
const rows = raw.split('n');
// split into columns
const data = rows.map(row => row.split('|'));

空将只是行数组中的空字符串。您可以过滤掉它们。rows.map(row => row.split('|').filter(el => el !== ''))但很可能您希望将它们留在其中以便于访问我的索引。

但这假设没有逃逸或其他违规行为。 我建议从 npm 找到一个 csv 模块。

相关内容

最新更新