取消
顯示的結果
而不是尋找
你的意思是:

閱讀CSV文件時跳過的行數

THIAM_HUATTAN
貢獻者三世

staticDataFrame = spark.read.format (csv) \ .option(“標題”、“true”)。選項(“inferSchema”,“真正的”).load (" / FileStore /表/ Consumption_2019 / * . csv”)

上麵的時候,我需要一個可以選擇跳過說前4行每一個CSV文件,我該怎麼做?

7回複7

FabioKfouri
新的貢獻者二世

我解決它使用函數monotonically_increasing_id和邏輯設置列名。

這樣做是必要的Java 1.8,因為提高誤差函數的收集()在Java 11。

df = df。withColumn(“指數”,F.monotonically_increasing_id())關口= df。列值= df。過濾器(指數= 0).collect() #定義跳過行我在範圍(len(關口)):如果關口[我]! =“指數”:df = df.select (df.columns)。withColumnRenamed(關口[我],值[0][我])

mstuder
新的貢獻者二世

根據文檔的

spark.read.csv (…)
路徑
參數可以是一個字符串抽樣:

路徑:str列表字符串或字符串列表,輸入路徑(s),或抽樣的字符串存儲CSV行。

,你可以使用

spark.sparkContext.textFile (…)
結合
zipWithIndex (…)
執行必要的行過濾。把東西一起這可能看起來如下:

n_skip_rows = ?row_rdd =火花。sparkContext .textFile (your_csv_file) \ .zipWithIndex () \ .filter(λ行:行[1]> = n_skip_rows) \ . map(λ行:行[0])df = spark_session.read。csv (row_rdd…)

希望有幫助。

User16844409535
新的貢獻者二世

您可以提供“skipRows”選項,而閱讀。

spark.read.format (csv)。選項(“skipRows”, 4) .load (“< filepath >”)

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map