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