如何在 Pentaho 中读取带有动态列名的 Excel
Posted
技术标签:
【中文标题】如何在 Pentaho 中读取带有动态列名的 Excel【英文标题】:How to read an excel with dynamic column names in Pentaho 【发布时间】:2021-12-15 05:52:41 【问题描述】:我一直在努力阅读列号和名称不断变化的 Excel 文件。我已经阅读了元数据注入,但无法在我的场景中应用它,我肯定遗漏了一些东西。我的要求是:
我有一个 Excel 文件不断进入的目录。作业计划每天运行 2-3 次以选择文件夹中的 excel 文件,然后将 Excel 文件数据发布到 SQL Server。
挑战在于此目录中的 Excel 文件可能有不同的列数。即列号是动态的,列名也是动态的。
我使用 Microsoft Excel 输入,为了刷新列名,每次我必须单击“从标题行获取字段”按钮。我想自动化它,只需要一个转换,它可以读取任何带有动态列名的 Excel。
在 ETL 元数据注入的大多数示例中,我注意到提供了列名。但是,在我的场景中,我事先不知道列名,甚至我的 excel 可能具有的列数。
这是否可以通过 ETL 元数据注入步骤或任何其他方式实现?
任何帮助表示赞赏。
谢谢, 萨塔克
【问题讨论】:
【参考方案1】:您是否能够以文本格式(例如 CSV)或带有特殊字符的文本(仅使用标题)来获取除 excel 之外的第二个文件来分隔列?或者将 excel 生成为 csv 而不是 excel。
这样,您可以进行转换以读取第一行或仅带有标题的文件以读取列,然后注入该信息以读取 excel 或 csv。
使用文本文件而不是 Excel,您可以将第一行作为文本读取,然后使用将字段拆分为行步骤来获取第一行的列。
【讨论】:
以上是关于如何在 Pentaho 中读取带有动态列名的 Excel的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Pentaho 的 javascript 步骤中的另一行读取?
Pentaho 5.3 - 如何读取 PRPT 文件中的属性