如何将xlsx或xls文件作为Spark数据帧读取 [英] How to read xlsx or xls files as spark dataframe
本文介绍了如何将xlsx或xls文件作为Spark数据帧读取的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有人可以在不转换xlsx或xls文件的情况下让我知道,我们如何才能将它们作为Spark数据帧读取
我已经尝试与 pandas 一起阅读,然后尝试转换为Spark DataFrame,但收到错误,错误为
错误:
Cannot merge type <class 'pyspark.sql.types.DoubleType'> and <class 'pyspark.sql.types.StringType'>
编码:
import pandas
import os
df = pandas.read_excel('/dbfs/FileStore/tables/BSE.xlsx', sheet_name='Sheet1',inferSchema='')
sdf = spark.createDataFrame(df)
推荐答案
我尝试在2021年4月根据@matkurek和@Peter pan.的回答给出一个全面的更新版本。
火花
您应该在Databricks群集上安装以下两个库:
群集-&>选择您的群集-&>库-&>在坐标中安装新-:com.crealytics:spark-excel_2.12:0.13.5
群集-&>选择您的群集-&>库-&>在包中安装新的-;PyPI-&>:xlrd
然后,您将能够按如下方式阅读您的Excel:
sparkDF = spark.read.format("com.crealytics.spark.excel")
.option("header", "true")
.option("inferSchema", "true")
.option("dataAddress", "'NameOfYourExcelSheet'!A1")
.load(filePath)
pandas
您应该在Databricks群集上安装以下两个库:
群集-&>选择您的群集-&>库-&>在包中安装新的-;PyPI-&>:xlrd
群集-&>选择您的群集-&>库-&>在包中安装新的-:Openpyxl
然后,您将能够按如下方式阅读您的Excel:
import pandas
pandasDF = pd.read_excel(io = filePath, engine='openpyxl', sheet_name = 'NameOfYourExcelSheet')
请注意,您将拥有两个不同的对象,在第一个方案中为Spark Dataframe,在第二个方案中为Pandas Dataframe。
这篇关于如何将xlsx或xls文件作为Spark数据帧读取的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文