HD|20211210
DT|D-|12/22/2017|12/22/2017 09:41:45.828000|11/01/2017|01/29/2018 14:46:10.666000|1.2|1.2|ABC|ABC|123|123|4554|023|11/01/2017|ACDF|First|0012345||f|ABCD|ABCDEFGH|ABCDEFGH||||
DT|D-|12/25/2017|12/25/2017 09:24:20.202000|12/13/2017|01/29/2018 07:52:23.607000|6.4|6.4|ABC|ABC|123|123|4540|002|12/13/2017|ACDF|First|0012345||f|ABC|ABCDEF|ABCDEFGH||||
TR|0000000002
檔案名為 Datafile.Dat。斯卡拉 2.11 版
我需要用第一行創建標題資料幀但不包括“HD|”,需要用最后一行創建尾部資料幀但不包括“TR|”,最后需要通過跳過第一行和最后一行并排除來創建實際資料幀“DT|” 從每一行。
請幫我解決這個問題。
uj5u.com熱心網友回復:
我看到您為資料框定義了架構(第一行和最后一行除外)。您可以做的是讀取該檔案,分隔符將是“|” 并且您可以啟用“DROPMALFORMED”模式。
schema = 'define your schema here'
df = spark.read.option("mode","DROPMALFORMED").option("delimiter","|").option("header","true").schema(schema).csv("Datafile.Dat")
另一種方法是使用 zipWithIndex。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/381440.html
