使用 PDI 将逗号分隔的 string/list 转换为 table/Matrix 格式

Convert comma separated string/list into table/Matrix format using PDI

使用 Pentaho 数据集成 (Kettle),我从文本文件中读取了一个长字符串:

a, 1, 2, b, 3, 4, c, 5, 6, ...

是否有任何PDI/Kettle步骤或方法将此字符串拆分为如下所示的n列table格式(列名可以自由定义):

column1 column2 column3
a 1 2
b 3 4
c 5 6

以上只是一个简单的例子,我的真实情况是分隔符不同,列号(n)更大。但我只想先解决主要问题。

我不明白“不同的分隔符”。如果同一行有不同的分隔符,例如逗号和分号,那么这对 PDI 过程来说是一项棘手的任务。然后,您需要先将所有定界符转换为同一类型。比如在Notepad++中,进行替换。 Notepad ++ 可以很好地处理大型 CSV 文件。

在 PDI 中还有一个标准分隔符组件“Split Fields”。

我已经为你准备了SOLUTION。在我的解决方案中,我设置了 N=3,但你可以设置任意多个。此外,如果要设置 N =3/4/5/N,则需要在 'Row denormaliser' 步骤中输入列名。

尽管如此,您可以使用 'Meta Data Injection' 步骤轻松设置动态列名(如果需要)。