Camel CSVRecord Camel Bindy

我正在使用带有bindy(2.16.0)的camel来解析csv文件。 该文件包含页眉和页脚。 两者都用作元数据来描述所有其他记录的公共数据。 (客户定义所以我无法更改CSV格式)

我使用Bindy为我解析数据。 我遇到的问题是,对于CSVRecord,您无法排除页脚。 我能够跳过标题但解析数据失败,因为它无法解析页脚,因为数据格式不同。

有没有办法从CSVRecord bindy中排除最后一行/页脚,或者有骆驼读取并以另一种方式删除最后一行?

目前在bindy中不支持此function。 您的案例中的页脚只是一行吗? 或者它是否有任何特殊的前导标记来表示它的页脚?

我们可以改进bindy以支持跳过页脚。 因此,默认情况下,页脚可能只是最后一行。 但只是想知道人们是否可能有多行作为页脚?

在使用bindy解析之前,您需要自己手动删除最后一行。 如果文件不大,并且您可以在内存中使用它,则可以使用Camel处理器/ bean并从邮件正文中删除最后一行。

您可以考虑另一种解决方案:

  • 从客户那里获取csv
  • 通过清理步骤预处理csv:解析header / fooder并将其排除在外。 但是收集通用参数以便您可以丰富其他对象。
  • 通过bindy解析剩下的“clean csv”,然后使用header / footer common来丰富