在 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)的主要内容,如果未能解决你的问题,请参考以下文章
在 Python pandas 中将 xlsx 文件转换为字典
在 python 中将多个 excel '.xlsx' 转换为 '.csv' 文件时,我得到了额外的列?