gpt4 book ai didi

node.js - 在 CSV 中使用 Node js 写入匹配的行

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:53 24 4
gpt4 key购买 nike

我正在使用 node js 迈出一小步。第一个任务,逐行读取分隔文件,并吐出包含字符串“impulated”的行。

#!/usr/bin/env node

var Csv = require("csv"),
Fs = require("fs");

var foods = "/../data/sr26";


Csv()
.from.stream(
Fs.createReadStream(__dirname + foods + "/SRC_CD.txt"),
{"delimiter": "^", "quote": "~"}
)
.to(function(data, count) {
console.log(data);
})
.transform(function(row, index, callback) {
//if (row[1].search(/imputed/) != -1) {
process.nextTick(function() {
callback(
null,
row[1].substr(0, 15) + "… " + row[1].search(/imputed/) + "\n"
)
});
//}
});

打印出来

Analytical or d… -1
Calculated or i… 14
Value manufactu… -1
Aggregated data… -1
Assumed zero… -1
Calculated from… -1
Calculated by m… -1
Aggregated data… -1
Manufacturer's … -1
Analytical data… -1

但是取消注释 transform 内的比较会导致根本没有输出。我做错了什么?

最佳答案

当使用csv transform method时异步地,您必须调用回调
如果您使用 null 调用它,该记录将被跳过。

if (row[1].search(/imputed/) != -1) {

process.nextTick(function() {
callback(
null,
row[1].substr(0, 15) + "… " + row[1].search(/imputed/) + "\n"
)
});

} else {
callback(null, null);
}

关于node.js - 在 CSV 中使用 Node js 写入匹配的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21223303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com