2

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

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

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

4

2 回答 2

1

不,目前在 bindy 中不支持此功能。在您的情况下,页脚是否只有一行?或者它是否有任何特殊的前导标记来指示它的页脚?

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

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

于 2015-10-30T07:02:58.147 回答
0

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

  • 从客户那里获取 csv
  • 通过清理步骤预处理 csv:解析 header/fooder 并将其排除在外。但是收集通用参数,以便您可以丰富其他对象。
  • 通过bindy解析其余的“干净的csv”,然后用常见的页眉/页脚进行丰富
于 2015-10-31T08:34:09.727 回答