我有一个包含多个工作表的大型 Excel(xlsx 和 xls)
文件,我需要将其转换为 RDD
或 Dataframe
以便它稍后可以加入其他dataframe
。我正在考虑使用 Apache POI并将其保存为CSV
,然后读取dataframe
中的csv
。但如果有任何库或 API 可以帮助这个过程就会很容易。非常感谢任何帮助。
最佳答案
问题的解决方案是在项目中使用 Spark Excel
依赖项。
Spark Excel有灵活的选项
可供使用。
我已经测试了以下代码,可以从 excel
读取数据并将其转换为 dataframe
,效果非常完美
def readExcel(file: String): DataFrame = sqlContext.read
.format("com.crealytics.spark.excel")
.option("location", file)
.option("useHeader", "true")
.option("treatEmptyValuesAsNulls", "true")
.option("inferSchema", "true")
.option("addColorColumns", "False")
.load()
val data = readExcel("path to your excel file")
data.show(false)
如果您的 Excel 工作表有多个工作表,您可以将 sheetname
作为 选项
.option("sheetName", "Sheet2")
希望对你有帮助
关于excel - 如何在 Scala Spark 中从 Excel(xls、xlsx)文件构造 Dataframe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44196741/