[英]How can we skip lines automatically in excel and csv file until header row is found in python (pyspark)
我建議使用 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.