首页 > 解决方案 > Apache nifi:当每行具有不同的单元格长度时,无法将 excel 解析为 csv

问题描述

我正在尝试使用 Apache Nifi 将一个 Excel 转换为 CSV。当第一行包含信息的单元格值少于文档的其他行时(例如,第一行有 5 个单元格,第 2 个 -> 8 个单元格,第 5 个 -> 7 个单元格),文档的解析只需要考虑到第一行 (5) 的单元格数。所以我丢失了信息(在示例情况下,第 2 行将丢失 3 个单元格值,第 5 行将丢失 2 个)。

另一个视觉示例:

在此处输入图像描述

我的流程配置如下:

在此处输入图像描述

谁能告诉我如何解决这个问题?

标签: excelcsvapache-nifi

解决方案


@Jaime - NiFI 处理器 ConvertExcelToCSVProcessor 做了一些你已经注意到的假设。它假定您在每一行中发送一组一致的数据。您的 Excel 不符合这些基本假设。

我最好的建议是修复 excel 表中的绝望数据。添加缺失的列,其中包含您以后可以删除/忽略的数据。唯一的其他选择是将处理器重新制作为自定义处理器,您可以让它检查每一行,获取具有最多列的行,将其用于列数。


推荐阅读