数据格式化-CSV输入处理
解析 CSV 字符串并将其转换为对象数组。
问题背景
解析 CSV 字符串并将其转换为对象数组。
解决方案
CSV 处理 节点可用于解析 CSV 字符串并从中生成 JavaScript 对象数组。
示例

示例JSON
[{"id":"73e4e16.4d9742","type":"inject","z":"4dcd5b540cc77711","name":"Inject","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":250,"y":1080,"wires":[["2bef78fd.ae70f8"]]},{"id":"90ed51dc.dcc71","type":"csv","z":"4dcd5b540cc77711","name":"","sep":",","hdrin":true,"hdrout":false,"multi":"mult","ret":"\\n","temp":"","skip":"1","x":550,"y":1080,"wires":[["9aace6e7.adc538"]]},{"id":"9aace6e7.adc538","type":"debug","z":"4dcd5b540cc77711","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":710,"y":1080,"wires":[]},{"id":"2bef78fd.ae70f8","type":"template","z":"4dcd5b540cc77711","name":"CSV data","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"# This is some random data\na,b,c\n80,18,2\n52,36,10\n91,18,61\n32,47,65","output":"str","x":400,"y":1080,"wires":[["90ed51dc.dcc71"]]}]
运行结果
在示例中,流程注入了包含 CSV 数据的有效负载:
# This is some random data
a,b,c
80,18,2
52,36,10
91,18,61
32,47,65
CSV 处理 节点已配置为忽略输入的第一行,因此它会忽略初始注释行。然后,它会使用下一行来获取列名,并使用其余行来获取数据。
在这个特定的例子中,节点还被配置为发送一条包含所有数据的消息,所以只有一条包含有效载荷的消息输出。 有效载荷是一个 JavaScript 对象数组,每个对象都包含 CSV 数据的一行。
[
{ a: 80, b: 18, c: 2},
{ a: 52, b: 36, c: 10},
{ a: 91, b: 18, c: 61},
{ a: 32, b: 47, c: 65},
]
