json - Node : reading a big csv file

标签 json node.js regex readfile fs

所以我有一个 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/

相关文章:

javascript - 为 PhoneGap 应用程序存储什么数据类型?

javascript - `Unexpected token a in JSON at position 0`的解决方案

javascript - Mongoose :缓存虚拟

javascript - 如何从 Node js上的http get请求中删除缓存

regex - 复制该列并用特殊字符粘贴

javascript - 布局和加载元素的异步问题

javascript - 通过 javascript 和 ajax 重写 JSON 值

java - 如何修复它才能捕获提到的 URL 格式?

javascript - 为什么 JSLint 在这行代码中返回 'bad escapement'?

javascript - 如何访问 javascript 对象数组中的 String 键?