注意:轉換屬於基礎程式語言的一部分,使用者無法直接存取。本篇文章的內容僅供參考。
依據您指定的分隔符號將一欄值分割為不同的資料列。不過請注意,只有包含字串常值的資料列才能分割,這項指令無法分割模式資料列。附註:splitrows
轉換必須是方案中的第一個步驟。初次在「轉換」頁面中載入資料集時,系統可能會將 splitrows
轉換作業新增為方案的第一個步驟。另外,您日後將無法在方案中新增其他 splitrows
轉換作業。若要瞭解相關詳情,請參閱初始剖析步驟。
基本用法
如果您將 CSV 資料載入「轉換」頁面,然後在「方案」面板中查看第一個方案步驟,可能會看見下列結果:
splitrows col: column1 on: '\r'
輸出:上述指令會分割所有一開始以逗號分隔並儲存於 column1
中的 CSV 資料。資料列結尾的分隔符號為回車字元,以逸出值 \r
表示。
參數
splitrows col:column_ref on:'string_literal' [quote:'quoted_string']
符記 | 是否必要? | 資料類型 | 說明 |
---|---|---|---|
splitrows | 是 | 轉換 | 轉換名稱 |
col | 是 | 字串 | 來源資料欄名稱 |
on | 是 | 字串 | 為來源資料欄中的每個值指定資料列分隔符號的結尾位置 |
quote | 否 | 字串 | 指定已加引號的特定物件,系統會在模式比對作業中忽略該物件 |
quoteEscapeChar | 否 | 字串 | 指定引號前的逸出字元 |
若要進一步瞭解語法標準,請參閱語言文件語法附註。
col
找出要套用轉換指令的資料欄 (只能指定一個資料欄)。
使用須知:
是否必要? | 資料類型 |
---|---|
是 | 字串 (資料欄名稱) |
on
識別待比對的模式。模式可以是字串常值、Cloud Dataprep 模式或規則運算式模式。
附註:值必須是字串。在這個轉換指令中,這項參數會定義分割現有資料列時要參照的字串,並將該字串之後的資料新增至新的資料列。
使用須知:
是否必要? | 資料類型 |
---|---|
是 | 字串文字 |
quote
可將特定字串指定為已加引號的單一物件。
附註:這項參數值須為單一字元。
splitrows col: MyCol on: '\r\n' quote: '"'
輸出:依據換行字元字串 (\r\n
) 將 MyCol
資料欄分割成多個資料列。無論位於雙引號 ("
) 之間的值是否含有 \r\n
值,系統都會將其視為字串。
使用須知:
是否必要? | 資料類型 |
---|---|
否 | 字串 |
quoteEscapeChar
在使用引號來識別欄位的文字格式中,所選平台將預設您會使用下列字元來當做逸出引號:
- JSON:平台預設您會使用
\
。 - 所有其他檔案格式:平台預設您會使用
"
。
如有需要,您也可以在每個方案中指定要用來當做逸出引號的字元。一般來說,指定這個值是為了處理 JSON 資料或自訂特定資料的轉換作業。
splitrows col: MyCol on: '\r\n' quote: '"' quoteEscapeChar:'"'
使用須知:
是否必要? | 資料類型 |
---|---|
否 | 字串文字 (單一字元) |
範例
範例:來源為 CSV 資料的 splitrows
非結構化來源:
在匯入之前,您的 CSV 格式資料應該會如下所示:
Date,UserId,Message 3/14/16,jjones,"Hi, everyone! Happy, St. Patrick's Day!" 3/14/16,lsmith,"@jjones, it's on 3/17." 3/14/16,thughes,lol 3/14/16,jjones,"@lsmith, no harm in celebrating twice!"
附註:
- 第一個資料列中的 Message 值含有回車字元,您必須在資料值中擷取這類字元,分割資料列時也不得使用回車字元。
thughes
的 Message 值為未加引號的單一值。
轉換:
資料初次載入「轉換器」頁面時,系統會將以下步驟新增為方案的第一個步驟:
splitrows col: column1 on: '\r' quote: '\"'
這個轉換作業會依據回車字元分割非結構化 CSV 資料。系統會將儲存在雙引號之間的值視為單一字串,但不會對這類資料套用任何換行格式。
結果:
如果您處理的是 CSV 資料,則系統通常會將這個步驟、split
步驟和 header
步驟自動新增為方案的第一個步驟。在「轉換」頁面中,這個資料集應該會如下所示:
Date | UserId | Message |
---|---|---|
2016/3/14 | jjones | Hi, everyone! C R C RHappy, St. Patrick's Day! |
2016/3/14 | lsmith | @jjones, it's on 3/17. |
2016/3/14 | thughes | lol |
2016/3/14 | jjones | @lsmith, no harm in celebrating twice! |
在資料中,C R 標記用來表示回車字元。