我正在发送一个csv文件:
A1,A2,A3,A4
B1,B2,B3,B3
到具有4列(A,B,C,D)的csv节点。
我能够将第一个csv记录看作JS对象,但我无法访问其余记录。
csv节点输出如下所示:
(Object) { "A": "A1", "B": "A2", "C": "A3", "D": "A4\r\nB1" }
如何使用csv节点访问每条记录?
答案 0 :(得分:2)
csv节点当前希望每个输入消息只包含记录,因为它一次只能输出一条记录。
解决此问题的最简单方法是在csv节点之前插入一个函数节点,将多行消息分解为单独的消息:
var lines = msg.payload.split("\n");
var messages = [];
for (var i=0; i<lines.length; i++) {
//deep copy the orginal message to ensure we don't loose any other fields
var tmp = JSON.parse(JSON.stringify(msg));
//the trim deals with dos line endings
tmp.payload = lines[i].trim();
messages.push(tmp);
}
return [messages];