NodeJS:读取一个大的csv文件

时间:2017-08-11 02:24:58

标签: json node.js regex readfile fs

所以我有一个70mb .csv文件,我想要解析并转换成json,尝试在500kb测试csv中进行json转换我发现了一个简单的解决方案与正则表达式。
问题是当我输入实际数据时,我不能再使用fs.readFileSync了,所以我需要使用流。
我的问题是:我如何使用流和正则表达式?假设我的流在可能的正则表达式匹配中切断缓冲区,我想如果发生这种情况,我将丢失该数据。此外,数据没有结构化,所以我没有意识到解析它的其他方式比正则表达式 如果我不清楚我的解释,请告诉我,英语不是我的主要语言,但我也知道英语社区也是最快也最可靠的。

提前致谢。

1 个答案:

答案 0 :(得分:7)

有一个稳定的readline核心模块

你可以这样做

let lineReader = require('readline').createInterface({
  input: require('fs').createReadStream('file.csv')
})

lineReader.on('line', (line) => {
  // do regexs with line
})
相关问题