Если у вас есть только одна строка, вы можете получить доступ к первой строке, используя индекс 0: [0]
, а затем получить доступ к третьему полю, используя индекс 2 [2]
.Индексы начинаются с 0.
Примечание , если ваш CSV НЕ имеет строки заголовка, обязательно добавьте это в файл: listener outputMimeType="application/csv;header=false"
, чтобы dw знал, что заголовка нетстрока:
<flow name="csv">
<file:listener directory="/path/to/dir" outputMimeType="application/csv;header=false" >
<scheduling-strategy >
<fixed-frequency frequency="100000" />
</scheduling-strategy>
</file:listener>
<logger level="INFO" message="#[payload]" />
<set-variable value="#[output application/java --- payload[0][2] as String]" variableName="myVar" />
<logger level="INFO" message="#[vars.myVar]" />
</flow>
Также обратите внимание, что вы можете использовать компонент transform
для задания переменных, а также для более сложных преобразований, где требуется лучшее форматирование:
<ee:transform>
<ee:variables>
<ee:set-variable variableName="myVar" ><![CDATA[%dw 2.0
output application/java
---
payload[0][2] as String]]></ee:set-variable>
</ee:variables>
</ee:transform>