kettle读txt文件并处理

kettle版本7.1,java版本必须是1.8

实例1:text文件只有一列

1.同时读取多个文件

使用Text file input工具

若是读取单个文档,直接输入:路径加文件名即可

若是读取多个文件,输入文件所在目录,然后在第二个框输入你文件名对应的正则表达式,之后再点击add,验证是否添加成功,去下方点击show filenames看看有没有你要添加的文件。

读取所有文件可以用“.*.*”  也可以用“.*\.*”。PS:你直接输入“*”是不行的,读取特定条件的文件可用“zhang.*\.txt”,此句就是把以zhang开头,后缀是txt文件输入

2.row flatter功能

作用:通过增加列减少记录条数

读取文件内容如图:

你在Text file input 中的filed字段下输入text,String他就会把每一行自动读取并把空白行消除。你再使用row flatter

他就会把text的所有按照你target field的字段重新分配到各个字段下。

3.Regex Evaluation使用

把一个字段里面的信息分解

指明需要分解的字段。

图中的Regular expression意思是:冒号前面是“Published”或者是“Expected”,冒号是另外一个String就行

输出如图,只要满足Regular expression,result返回Y,否则返回N

4.Replace in string

将文档中的一个字符串替换

这个意思就是从price字段里面搜索,把Our price全部替换为空。

5.select value

作用之一:替换元数据的类型和格式

由于你从TXT文档读的数据全是String所以使用这个把其类型改为Number,并改其格式

上面五个操作执行完后输出如图:

实例2:txt文件有多列数据,并且有的列占了很多的位置

数据如图:

猜你喜欢

转载自blog.csdn.net/binbin_09_10/article/details/84562921