CSV
CSV格式数据的解析和生成。
输入
包含CSV数据或对象数组的消息。
输出
解析后的对象数组或生成的CSV字符串。
详细说明
CSV节点可以将CSV格式的字符串解析为对象数组,或将对象数组转换为CSV格式。
配置选项
- 分隔符: 字段分隔符(逗号、分号、制表符等)
- 模板: CSV列模板
- 第一行包含列名
- 使用模板定义列
- 输出: 输出格式
- 每行一个消息
- 单个数组消息
- 包含空行: 是否包含空行
- 跳过行数: 跳过开头的行数
解析模式
将CSV字符串转换为对象:
输入消息格式
javascript
msg = {
payload: "name,age,city\nJohn,25,New York\nJane,30,London"
}
输出消息格式
javascript
msg = {
payload: [
{name: "John", age: "25", city: "New York"},
{name: "Jane", age: "30", city: "London"}
]
}
生成模式
将对象数组转换为CSV字符串:
输入消息格式
javascript
msg = {
payload: [
{name: "张三", age: 25, city: "北京"},
{name: "李四", age: 30, city: "上海"}
]
}
输出消息格式
javascript
msg = {
payload: "name,age,city\n张三,25,北京\n李四,30,上海"
}
示例
解析带标题的CSV:
javascript
// 输入
msg = {
payload: "产品,价格,库存\n苹果,5.50,100\n香蕉,3.20,50"
}
// 输出
msg = {
payload: [
{产品: "苹果", 价格: "5.50", 库存: "100"},
{产品: "香蕉", 价格: "3.20", 库存: "50"}
]
}
使用自定义分隔符:
javascript
// 配置:分隔符为分号
// 输入
msg = {
payload: "name;age;city\nJohn;25;New York\nJane;30;London"
}
// 输出
msg = {
payload: [
{name: "John", age: "25", city: "New York"},
{name: "Jane", age: "30", city: "London"}
]
}
生成CSV文件:
javascript
// 输入
msg = {
payload: [
{设备ID: "001", 温度: 25.6, 湿度: 68.2},
{设备ID: "002", 温度: 26.1, 湿度: 65.8}
]
}
// 输出
msg = {
payload: "设备ID,温度,湿度\n001,25.6,68.2\n002,26.1,65.8"
}
处理包含逗号的字段:
javascript
// 输入
msg = {
payload: 'name,description\n"John Doe","Software Engineer, Team Lead"\n"Jane Smith","Product Manager"'
}
// 输出
msg = {
payload: [
{name: "John Doe", description: "Software Engineer, Team Lead"},
{name: "Jane Smith", description: "Product Manager"}
]
}
应用场景
- 数据导入导出
- 报表生成
- 数据格式转换
- 文件处理
注意事项
- 注意字段中的特殊字符处理
- 确保数据类型一致性
- 处理大文件时注意内存使用
- 验证CSV格式的正确性