使用FME生成特定長度的字段

2021-08-21 17:34:54 字數 901 閱讀 6789

圖1源資料的xls**

要求記事本的形式如下圖2:

圖2要求的結果txt檔案

首先我們試試stringformatter這個轉換器看能帶給我們什麼樣的效果。第乙個stringformatter2和stringformatter3分別將col_1和col_2進行格式化,再用stringconcatenator連線起來模板如圖3:

圖3使用stringformatter的模板

得到結果如下圖4:

圖4使用stringformatter得到結果圖

這個結果顯然不滿足我們的要求,原因是col_2裡面既有中文字元又有英文本元,中文字元本來應該佔2個字元長度,而stringformatter都認為佔乙個字元,所以得到上面的效果。

正確的方法是,1)首先使用pythoncaller計算出col_2的長度;2)新建乙個字段,字段值賦值為空格;3)使用stringpadder將上一步生成的字段再加上特定長度(30-「第一步獲得的長度度值」),然後再用stringcontatenator連線起來即可,詳細設定見本文附件,模板如下圖5。

圖5正確方法

從InputStream中讀取特定長度的資料

public static final int read buffer size 1024 讀取流中的字元到陣列 param in 該方法執行完成不會關閉流 param limit 讀取大小限制 return throws ioexception public static byte readstr...

oracle 固定長度主鍵的生成

開始接觸oracle,覺著非常繁瑣,連主鍵遞增都要做個序列和觸發器,逐漸了解後,覺著這樣的設計還是非常靈活和實用的,下面的 有注釋,應該不用再多解釋了。可以直接用no做主鍵,放棄id這個字段,只是一直使用id,看不到了不舒服,所以就留著了 有乙個小問題就是序列和觸發器的執行需要加上 這個符號,不知道...

oracle 固定長度主鍵的生成

開始接觸oracle,覺著非常繁瑣,連主鍵遞增都要做個序列和觸發器,逐漸了解後,覺著這樣的設計還是非常靈活和實用的,下面的 有注釋,應該不用再多解釋了。可以直接用no做主鍵,放棄id這個字段,只是一直使用id,看不到了不舒服,所以就留著了 有乙個小問題就是序列和觸發器的執行需要加上 這個符號,不知道...