[英]How to merge 2 csv files by columns in spoon, pentaho, while managing data conversion?
我面临以下问题:
我有两个输入:
1) 我有一个 csv 基本文件,它有 35 列及其正确的标题。
2) 我有各种不由我控制的给定文件,它们可能包含也可能不包含 35 列,更糟糕的是,它们可能出现故障。
我必须将第二个 csv 文件中的列与第一个 csv 文件中的列匹配。 如果第二个 csv 文件没有全部 35 列,我应该按照正确的顺序创建它们。
一旦我有一个正确的 csv 文件(其中 header 看起来像第一个 csv 标题),我会将它传递给一个脚本,该脚本管理通过列标题引用它们的数据。
一种可能的解决方案是在脚本中获取现有的字段输入,但是,我无法做到这一点,因为这些字段似乎是固定的,引用了第二个 csv 文件的现有列标题。 因此,当我尝试访问不存在的列时,我最终会遇到异常......
任何帮助将不胜感激!
术语“第二个 csv 中的字段乱序”可能有多种含义
第一种情况真的很奇怪。 相同的来源应该提供相同的数据,如果这不是真的,那么做出决定的逻辑可能真的很复杂。
第二种情况看起来更真实。 在这种情况下,您可以将所有来源设为 35 个字段宽。 然后你需要识别字段。 在kettle中有很多工具可以检测数据类型、字符串操作、正则表达式等等。
实际上,听起来您需要自动检测字段。
但没有真实数据,很难看出规律。 由于您在数据库级别实现了这种现场检测逻辑,因此在水壶中也是可能的。
无论如何,如果逻辑真的很复杂,那么使用 JavaStep,JavaScript。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.