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

pyspark.pandas。read_excel(引擎= xlrd)閱讀xls文件#裁判錯誤

克裏斯汀
貢獻者

不確定這是正確的地方問這個問題,所以如果不是,請讓我知道。

我想讀一個xls文件包含# REF值與pyspark.pandas磚。當我試著用“pyspark.pandas讀取文件。read_excel (file_path sheet_name = sheet_name,引擎= xlrd, convert_float = False, dtype = str) .to_spark ()I get the error "ERROR *** Token 0x2d (AreaN) found in NAME formula".

我認為錯誤的發生是由於# REF值在這個文件中,所以我的問題是如果有任何方式我可以忽略錯誤並把#裁判沒有?我需要讀成pyspark。

我試著pyspark.pandas。read_excel (file_path sheet_name = sheet_name,引擎= xlrd, convert_float = False, dtype = str,錯誤=“強迫”).to_spark()和預期它讀取文件,但得到的錯誤“read_excel()有一個意想不到的關鍵字參數錯誤”。

謝謝你!

5回複5

youssefmrini
尊敬的貢獻者三世
尊敬的貢獻者三世

這聽起來像你試圖打開一個Excel文件,有一些無效的引用,這是造成一個錯誤當你試圖讀它pyspark.pandas.read_excel ()。

處理無效的一種方法是使用引用openpyxl引擎,而不是xlrd。openpyxl可以處理無效引用和代替他們嗎沒有一個價值。

這裏有一個例子如何讀取Excel文件使用pyspark.pandasopenpyxl引擎:

python
進口熊貓作為pd
pyspark.sql.functions進口上校
pyspark.sql.types進口StringType
進口pyspark.pandas作為ps

#設置文件路徑和表名
file_path =“/道路/ /你/ file.xlsx”
sheet_name =“sheet1”

#設置選項和讀取文件
選擇=dict(標題=1keep_default_na =引擎=“openpyxl”)
df_pandas = pd。read_excel (file_path sheet_name = sheet_name, * *選項)

#熊貓dataframe轉換為一個PySpark DataFrame
df_spark = ps.DataFrame (df_pandas).to_spark ()

# # REF值替換
df_spark = df_spark.withColumn (
“_tmp”,
坳(“invalid_column_name”).cast (StringType ()).cast (“替身”)
).drop (“invalid_column_name”)

#顯示結果dataframe
df_spark.show ()

                               

在這個例子中,read_excel ()配置為使用嗎openpyxl引擎,而不是xlrd使用引擎= " openpyxl "選擇。這允許您讀取Excel文件和處理無效引用。

讀取文件後,產生的熊貓dataframe轉換為PySpark dataframe使用pyspark.pandas.DataFrame (df_pandas) .to_spark ()。暫時列(“_tmp”)然後由鑄造問題列雙,然後再次把字符串。最後,# REF值替換。

這種方法應該允許你Excel文件讀入PySpark無效引用和處理。

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

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

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

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

Baidu
map