不確定這是正確的地方問這個問題,所以如果不是,請讓我知道。
我想讀一個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()有一個意想不到的關鍵字參數錯誤”。
謝謝你!
你好,
謝謝你的消息。
你可能想直接加載dataframe dataframe火花。的例子可以發現在這個堆棧溢出鏈接:https://stackoverflow.com/questions/56426069/how-to-read-xlsx-or-xls-files-as-spark-dataframe。
如果沒有幫助,請因為我將進一步深入。
親切的問候,
你好,
謝謝你的回複
我已經試過spark.read.format (“com.crealytics.spark.excel”),但是我用excel文件版本太老了。我得到了錯誤”提供的Excel電子表格似乎是5.0/7.0 (BIFF5)格式。POI隻支持BIFF8格式(從Excel版本/ XP / 2003 97/2000)”
我也試過spark.read.format (excel),但是這個命令從來沒有完成。
我一直在尋找更多的錯誤,顯然不能加載文件的原因是由於一個錯誤當我打開彈出的excel表發現了“一個或多個無效的名字在這個工作簿。那些無效的名稱已經更改為#裁判!#”。當我想拯救excel文件,它說錯誤是發現在細胞功能:“如果(B9 =“廈門市”;“字符串”;如果(條件統計(@E9: E10;“不”)= 0;“是的”,“不”))”。當我刪除@符號在這些細胞,我能閱讀該文件。
這會幫你調查嗎?
嗨@Christine你想讀一個xls文件包含# REF值在磚PySpark熊貓基於提供的信息。
當你試圖用“pyspark.pandas讀取文件。read_excel (file_path sheet_name = sheet_name,引擎= xlrd, convert_float = False, dtype = str) .to_spark (),you get the error "ERROR *** Token 0x2d (AreaN) found in NAME formula". It is assumed that the error is occurring due to the #REF values in the file, and you want to know if there is any way to ignore the error and convert #REF to None.
你也嚐試pyspark.pandas。read_excel (file_path sheet_name = sheet_name,引擎= xlrd, convert_float = False, dtype = str,錯誤=“強迫”).to_spark()但有錯誤”read_excel()有一個意想不到的關鍵字參數錯誤”。不幸的是,錯誤
不支持的參數pyspark.pandas.read_excel ()
。
然而,您可以嚐試以下方法將# REF值沒有:
1。讀取Excel文件使用它支持錯誤
參數。集錯誤=“強迫”
# REF值轉換為南。
熊貓作為pd導入 df = pd。read_excel (file_path sheet_name = sheet_name,引擎= xlrd, convert_float = False, dtype = str,錯誤=“強迫”)
2。NaN值替換使用fillna ()
方法。
df = df.fillna (value = None)
3所示。轉換生成的熊貓DataFrame PySpark DataFrame使用spark.createDataFrame ()
。
從pyspark。sql進口SparkSession 火花= SparkSession.builder.appName(“示例”).getOrCreate () spark_df = spark.createDataFrame (df)
嗨Kaniz,
謝謝你的回複。
我一直在尋找更多的錯誤,顯然不能加載文件的原因是由於一個錯誤當我打開彈出的excel表發現了“一個或多個無效的名字在這個工作簿。那些無效的名稱已經更改為#裁判!#”。當我想拯救excel文件,它說錯誤是發現在細胞功能:“如果(B9 =“廈門市”;“字符串”;如果(條件統計(@E9: E10;“不”)= 0;“是的”,“不”))”。當我刪除@符號在這些細胞,我能閱讀該文件。
我嚐試以下代碼: