1. 程式人生 > >kettle讀txt檔案並處理

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檔案有多列資料,並且有的列佔了很多的位置

資料如圖: