在 Pentaho 中将批量 .xlsx 文件转换为 .csv (UTF-8)

Posted

技术标签:

【中文标题】在 Pentaho 中将批量 .xlsx 文件转换为 .csv (UTF-8)【英文标题】:Convert bulk .xlsx files to .csv (UTF-8) in Pentaho 【发布时间】:2021-03-23 17:53:29 【问题描述】:

我是 Pentaho 的新手。我正在尝试构建一个可以将一堆 .xlsx 文件转换为 .csv (utf-8) 的转换。 我尝试了获取文件名和文本文件输出,但它将单个文件保存为 csv,并且该文件的内容是文件属性。 我还尝试了 Microsoft Excel 输入和 Microsoft Excel 输出,但也没有用。

任何帮助将不胜感激。蒂亚!

【问题讨论】:

你想要所有的 .xlsx 文件到一个 csv 文件吗? @glen_11 请您详细说明问题 @Runa 不,我希望将所有 .xlsx 文件转换为单独的 .csv 文件。 没关系。我已经给出了一个解决方案,它将所有 .xlsx 文件转换为单独的 .CSV 文件。正如你所说,你是 PDI 的新手。因此,我的建议是尝试理解我给定的解决方案。 【参考方案1】:

我为你准备了SOLUTION。我已经使我的解决方案完全动态化。出于这个原因,解决方案是 6(转型和工作)的组合。您只需要定义以下两件事:-

    来源文件夹位置 目标文件夹位置

其他的将动态工作。

另外,我从这个解决方案中学到了很多东西。

【讨论】:

嗨@Sakil Ahmmed,感谢分享解决方案!我试过了,但它在目标文件夹中创建了 csv 文件,其中包含完全不同的数据。我应该在某处提及列标题吗? 不是您不需要提及任何列标题。您能否分享您的示例 .xlsx 文件或您尝试过的解决方案?我还在我的解决方案中附加了一些示例 .xlsx 文件,因此您可以运行我的 soultion 并查看 csv 输出(以供理解)【参考方案2】:

您想为每个 Excel 文件生成单独的 CSV 吗? 最好这样做:

    使用获取文件名组件,从文件夹中读取 Excel 文件列表。 然后调用 Execute Transformation,并传递文件名。

然后会对每个文件进行单独的Transformation,并在其中为每个Excel文件生成一个单独的CSV。

【讨论】:

以上是关于在 Pentaho 中将批量 .xlsx 文件转换为 .csv (UTF-8)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PIG 中将 XLSX 文件转换为 CSV 文件?

在 Python pandas 中将 xlsx 文件转换为字典

在 python 中将多个 excel '.xlsx' 转换为 '.csv' 文件时,我得到了额外的列?

在 pentaho 中将 STRING 转换为 INT

如何在 Pentaho 中将上一步中的字段设置为 JSON 输出文件名?

libreoffice 在带有表格边缘的命令行中将 xlsx 转换为 pdf