You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用DataWeave按指定条件更新CSV的Salary列值?

DataWeave解决方案:按条件更新CSV的Salary字段

以下是满足需求的DataWeave脚本,核心逻辑是先将CSV解析为结构化数据,再根据指定条件修改字段,最后转回CSV格式:

%dw 2.0
input payload application/csv
output application/csv header=true
---
payload map (item, index) -> {
    Id: item.Id,
    Name: item.Name,
    Salary: if (item.Location == "Mumbai" and (item.Date as Date {format: "MM/dd/yyyy"}) > |2020-01-20|) 50000 else item.Salary,
    Location: item.Location,
    Date: item.Date
}

关键细节说明:

  • 日期类型转换:CSV中的Date是字符串格式,必须用as Date {format: "MM/dd/yyyy"}转换为日期类型,才能和DataWeave日期字面量|2020-01-20|进行有效比较。
  • 条件判断:通过if-else逻辑精准匹配规则——仅当Location等于"Mumbai"且日期晚于2020年1月20日时,将Salary设为50000,其余情况保留原薪资值。
  • CSV输出配置:output application/csv header=true确保输出结果保留原始CSV表头结构。

处理后的输出结果:

Id,Name,Salary,Location,Date
123,Ganesh,10000,Pune,02/22/2020
234,Sanket,50000,Mumbai,02/20/2021
345,Mohan,30000,Kolkata,01/23/2023
123,Ganesh,30000,Chennai,02/28/2023
234,Sanket,40000,Goa,02/20/2024

内容的提问来源于stack exchange,提问作者Santosh Gore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 01:20:04