Skip to content

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格式的正确性

蜀ICP备2025139593号