首页 > 解决方案 > 向 Apache Camel 中的现有 CSV 数据添加新列和行

问题描述

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

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

解组时,获取“org.apache.camel.dataformat.csv.CsvUnmarshaller$CsvIterator”作为类名,但无法获取交换或转换为此类的任何类型,因为这是抽象类。

让我知道我们是否可以使用 bean 组件和解决方案将列和内容添加到现有的 CSV 数据中。

标签: apache-camel

解决方案


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

例如:

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

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

您可以在文档中找到检查数据格式的详细信息。那里也有一个示例文件。


推荐阅读