我有一个带逗号的 CSV 输入文件。我需要将分隔符更改为管道。我应该在 Pentaho 水壶中使用哪个步骤?请建议。
谢谢!
尝试射击小目标时不要使用大枪。可以使用 sed 或 awk。或者当您想与水壶集成时,可以使用 step 运行 shell 脚本,并在脚本中使用 sed 例如。
如果您的目标是从转换中的数据中输出管道分隔的 CSV 文件,并且您已经在运行 Kettle,则只需使用文本文件输出步骤。
如果目标是在转换本身中对 CSV 数据做一些不寻常的事情,您可以查看 Concat Fields 步骤。
如果目标只是获取一个 CSV 文件并用不同的分隔符写出另一个 CSV,请使用@martinnovoty 建议的解决方案。
您可以轻松实现:在将 csv 步骤加载到变量“foo”后添加一个 javascript 步骤,并将此代码添加到 js 步骤中:
var newFoo = replace(foo,",", "|");
现在您的 cvs 文件已通过管道加载到 newFoo var 中。