我对 Apache Camel 相当陌生。
我一直在编写使用BindyCsvformat
该类处理 csv 文件的路由。到目前为止,我正在处理的 CSV 文件相当简单,因为它们具有固定数量的记录。所以使用@DataField
注释来定义列的位置不是问题。
但是我遇到了一个 CSV 文件,其中的列数是动态的。此 CSV 文件仅包含 1 行。
列号是动态的,基于称为“期数”的列的值。
如果“期间数”列中的值为“5”,则文件中添加了 5 个额外的列。
以下是此特定 CSV 文件中的标题示例:
样本-csv.txt
row_id, number_of_periods, result_period, result_period, result_period
0,3,0.00,10.00,10.00.
从上面的示例数据可以看出,因为“number_of_periods”列显示“3”,所以有三个“result_period”列。如果“number_of_periods”字段为 5,则将有 5 个“result_period”列。
任何人都可以帮助(或指向任何参考资料)BindyCsvFormat
(通过 Camel)可以在哪里处理这个动态列映射?除非我弄错了,否则我认为@DataField
注释只能应用于固定字段(假设事先知道总列数。
提前致谢。