我使用Mule Requester加载CSV文件。加载文件后,有效负载是一个字节数组,我将其存储在流变量mycsv
中。我一直有例外。
org.mule.api.MessagingException: Exception while executing:
NetIds: flowVars.mycsv map $."My Column Name"
^
Cannot coerce a :binary to a :array (com.mulesoft.weave.mule.exception.WeaveExecutionException). Message payload is of type: byte[]
这是我的DataWeave代码:
%dw 1.0
%output application/java
---
{
Values: flowVars.mycsv map $."My Column Name"
}
之前的流元素是choice
,因此我在其上设置元数据以输出到具有正确名称的FlowVar并引用样本CSV文件,因此DataWeave的变量类型为List<Csv>
如何阅读CSV?谢谢!
答案 0 :(得分:1)
这是因为它不知道flowVar的mimeType,因为它没有设置。在dataweave转换器之前尝试这个:
<set-variable value="#[flowVars.mycsv]" variableName="mycsv" mimeType="application/csv" doc:name="Variable" />
或在您第一次阅读csv时设置mimeType。
答案 1 :(得分:0)
这是我第一次要求将两种不同的格式放入一个csv文件中。为了得到预期的结果,我更喜欢使用这个技巧: 使用flatten创建两个表达式并将它们组合成一个简单的数组 添加空对象作为行分隔符