Pentaho从不同的CSV将2列彼此分开 [英] pentaho divide 2 columns each other from different csv
本文介绍了Pentaho从不同的CSV将2列彼此分开的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Pentaho中,我有两个CSV文件,我需要彼此划分列并将结果写入新表。
1.csv
否 | A | B |
---|---|---|
1 | 10 | 14 |
2 | 8 | 20 |
2.csv
否 | A | B |
---|---|---|
1 | 2 | 7 |
2 | 4 | 10 |
否 | A | B |
---|---|---|
1 | 5 | 2 |
2 | 2 | 12 |
每个CSV上至少有500行和500列。如何划分每个CSV并创建包含结果的新表?
推荐答案
创建转换并添加以下步骤:
- 阅读csv1
- 阅读csv2
在每次读取CSV之后,添加一个选择值步骤来重命名列No、A和B,这样就不会混淆列来自哪个文件(您可以跳过此步骤,合并两个文件时只会对列进行重命名,但您无法控制它,或者只使用一个选择值步骤并保留其中一个文件中的列名不变,我喜欢添加此步骤,以便在后续步骤中调试信息时更加清晰)
在选择值步骤之后,添加排序行步骤,按每个数据流的否列排序。
在对行进行排序步骤之后,添加唯一的步骤合并联接,合并两个文件的数据,其中每个文件的否列具有相同的值。
完成此步骤后,您的数据将如下所示:
第1号 | A1 | B1 | 第2号 | A2 | B2 |
---|---|---|---|---|---|
1 | 10 | 14 | 1 | 5 | 2 |
2 | 8 | 20 | 2 | 4 | 10 |
因此您只需添加一个计算器步骤即可执行两个操作:
- A3=A1/A2
- B3=B1/B2
最后添加文本文件输出步骤以创建包含三列的output.csv:No1(或No2,两列具有相同的内容)、A3和B3。
这篇关于Pentaho从不同的CSV将2列彼此分开的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文