所以我有一个70mb .csv文件,我想要解析并转换成json,尝试在500kb测试csv中进行json转换我发现了一个简单的解决方案与正则表达式。
问题是当我输入实际数据时,我不能再使用fs.readFileSync了,所以我需要使用流。
我的问题是:我如何使用流和正则表达式?假设我的流在可能的正则表达式匹配中切断缓冲区,我想如果发生这种情况,我将丢失该数据。此外,数据没有结构化,所以我没有意识到解析它的其他方式比正则表达式
如果我不清楚我的解释,请告诉我,英语不是我的主要语言,但我也知道英语社区也是最快也最可靠的。
提前致谢。
答案 0 :(得分:7)
有一个稳定的readline核心模块
你可以这样做
let lineReader = require('readline').createInterface({
input: require('fs').createReadStream('file.csv')
})
lineReader.on('line', (line) => {
// do regexs with line
})