读取流中的csv文件并将其存储在数据库中

时间:2015-06-24 09:51:26

标签: node.js csv stream

我有一些巨大的csv文件,我需要存储在mongo数据库中。因为这些文件太大,我需要使用流。我将数据写入数据库时​​暂停流。

csv.parse

但是$('#Click-2').on('click', function(e) { alert('Condition satisfied ') e.stopPropagation(); }); 会丢失一个错误,因为我需要逐行读取文件来处理它们作为csv,并转换为json作为mongodb。也许我不应该暂停它们,而是使用界面。我还没有找到任何解决办法。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:3)

我认为您可能希望从原始数据流创建一行线。

以下是拆分包中的示例。 https://www.npmjs.com/package/split

fs.createReadStream(file)
.pipe(split())
.on('data', function (line) {
  //each chunk now is a seperate line! 
})

根据您的示例,它可能看起来像这样

var readStream = fs.createReadStream('hugefile.csv');
var lineStream = readStream.pipe(split());
lineStream.on('data', function(data) {
    //remaining code unmodified

答案 1 :(得分:0)

我不确定bulk()是否可以追溯到15年代,但是无论谁试图从大型资源中导入项目,都应该考虑使用它们。

Resource: !If [ShouldNotCreateEnvResources, arn:aws:iam:::role/cognitoonoffinsure_openid_lambda_role, !Join ['',[arn:aws:iam:::role/cognitoonoffinsure_openid_lambda_role, '-', !Ref env]]]