DataWeave 1.0读取CSV设header=false时首行丢失的解决方法
解决DataWeave 1.0读取CSV时header=false丢失第一行数据的问题
在DataWeave 1.0中,设置header=false后第一行数据丢失的核心原因是:默认情况下skipHeaderLine参数会被自动设为true——哪怕你明确指定没有表头,它依然会把第一行当作表头跳过。
解决方法很直接:在CSV读取配置中同时显式设置skipHeaderLine=false,明确告诉DataWeave不需要跳过任何行,第一行就是正常数据。
示例代码
假设你有如下CSV输入:
John,Doe,30 Jane,Smith,28 Bob,Johnson,35
对应的DataWeave 1.0脚本需要在输入配置中同时声明两个参数:
%dw 1.0 %input payload application/csv header=false skipHeaderLine=false %output application/json --- payload map ((row, idx) -> { firstName: row[0], lastName: row[1], age: row[2] as :number })
如果是在Mule组件(比如File Connector)的读取配置里,直接在参数中添加:
header=false&skipHeaderLine=false
这样配置后,第一行数据会被正常解析,不会出现丢失的情况。
内容的提问来源于stack exchange,提问作者aditya khatri
相关产品推荐
相关产品推荐

