在Apache Camel中向现有CSV数据添加新列和行

vcudknz3  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(145)

我尝试将新的列和行/内容添加到现有的CSV数据中,但在Apache Camel中无法实现这一点。我在代码中使用了camel-csv组件,下面是相同的代码片段。

<unmarshal>
    <csv delimiter="|" useMaps="true" lazyLoad="true" />
</unmarshal>

解组时,获取“org.apache.camel.dataformat.csv.CsvUnmarshaller$CsvIterator”作为类名,但无法获取此类的交换或强制转换为任何类型,因为这是抽象类。
如果我们可以使用bean组件和解决方案将列和内容添加到现有的CSV数据中,请告诉我。

ar7v8xwq

ar7v8xwq1#

我可以建议一个替代的解决方案。您可以使用BeanIO数据格式。
例如:

BeanIODataFormat dataFormat = new BeanIODataFormat("classpath:beanio/mappings.xml", "ContactsCSV");

from("direct:convert-to-csv")    
.marshal(dataFormat)
.to("file:xxxx")
.end();

您可以在docs.中找到检查数据格式的详细信息。其中还包含一个示例文件。

相关问题