簡體   English   中英

我們如何在 excel 和 csv 文件中自動跳過行,直到 header 行在 Z23EEEB4347BDD26BFCDDpyB7EE9 中找到

[英]How can we skip lines automatically in excel and csv file until header row is found in python (pyspark)

我需要代碼跳過不必要的行,直到 header 行在 excel 和 csv 文件中找到,使用 Z23EEEB4347BDD26DDAZ6 模塊755DDAZ63

最推薦的是如果你在 pyspark 中這樣做,那對我會有幫助。

例子: 在此處輸入圖像描述

在上面的示例 excel 中,我們需要自動跳過前 3 行並從第 4 行開始讀取文件,該文件以“G/L”開頭,這是文檔的主要 header 行。

我建議使用 Pandas 來讀取 CSV 和 XLSX 文件,因為它具有最簡單的界面,然后將其轉換為 PySpark。 我還添加了兩個替代方案,您可以根據自己的設置和偏好進行嘗試。

直銷 Pandas

pandas_df = pd.read_excel('path/file.xlsx', sheet_name='Table 1', skiprows=3)

skiprows=3定義在 Pandas 開始讀取文件之前應該跳過多少行。 文檔

PySpark

如果你想直接使用 PySpark,你需要在你的集群上安裝兩個庫:

  • com.crealytics:spark-excel_2.12:0.13.7 (來自 Maven)
  • xlrd (來自 PyPI)

您可以使用spark.read如下:

spark_df = spark.read.format("com.crealytics.spark.excel") \
    .option("header", "true") \
    .option("inferSchema", "true") \
    .option("dataAddress", "'Table 1'!A4") \
    .load(filePath)

在這里,您可以告訴 spark 在選項dataAddress的字段A4中開始。

PySpark 超過 Pandas

自 Pyspark 3.2.0 起,使用簡單接口但直接轉換為 PySpark 也是可能的。 您可以使用如下語法:

spark_df = spark.pandas.read_excel('path/file.xlsx', sheet_name='Table 1', skiprows=3)

文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM