所以我有一个 70mb 的 .csv 文件,我想解析并将其转换为 json,尝试在 500kb 的测试 csv 中进行 json 转换,我发现了一个使用正则表达式的简单解决方案。
问题是当我放置实际数据时,我不能再使用 fs.readFileSync,所以我需要使用流。
我的问题是:如何使用流和正则表达式?假设我的流在可能的正则表达式匹配的中间切割缓冲区,我认为如果发生这种情况我将丢失该数据。此外,数据不是结构化的,所以我没有意识到除了正则表达式之外还有其他解析它的方法。
如果我的解释不清楚,请告诉我,英语不是我的主要语言,但我知道英语社区是最大的,也是最快和更可靠的。
提前致谢。
最佳答案
有稳定的readline核心模块
你可以做到这一点
let lineReader = require('readline').createInterface({
input: require('fs').createReadStream('file.csv')
})
lineReader.on('line', (line) => {
// do regexs with line
})
关于json - Node : reading a big csv file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45626006/