【问题标题】:Trying to read excel file from Spark (crealytics) but can't see data尝试从 Spark (crealytics) 读取 excel 文件但看不到数据
【发布时间】:2020-05-04 18:17:47
【问题描述】:

1) 我正在尝试使用

读取第一个 excel 文件
val df1 = spark.read.excel(
   dataAddress = dataAdd,
   header = true,
**maxRowsInMemory = 5)**
  .option("ignoreLeadingWhiteSpace", "true")
  .option("ignoreTrailingWhiteSpace", "true")
  .option("inferSchema", "true")
  .load(dataFilePath)

启用 maxRowInMemory,因此它不提供数据,但只显示 Schema。

但是,如果我删除了 maxRowInMemory,我会得到数据。

2) 但是如果我删除 maxRowInMemory,使用另一个 excel 文件,我会得到无法将字符串转换为数字单元格.....

谁能帮帮我。

【问题讨论】:

    标签: excel scala apache-spark azure-databricks


    【解决方案1】:

    试试这个,看看它是否适合你,

    val df1 = spark.read.format("com.crealytics.spark.excel") \
                        .option("useHeader", "true") \                
                        .option("treatEmptyValuesAsNulls", "true") \  
                        .option("inferSchema", "true") \              
                        .option("addColorColumns", "False") \         
                        .option("maxRowsInMey", 2000) \               
                        .option("sheetName", "Import") \              
                        .load(dataFilePath)  
    

    检查com.crealytics 库版本,com.crealytics:spark-excel_2.11:0.12.5 库的新版本也适用于非字符串列/标题名称。

    【讨论】:

    • 感谢您的回复。但我得到 ava.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell for other file
    • 这是由于您在标题字段中有数值。如果你输入字符串值,那么它就可以工作。您也可以在 spark 中发布您的 crealytics 库版本吗?
    • 我无法更改文件中的任何内容。 crealytics 版本-com.crealytics:spark-excel_2.11:0.13.1
    • 我正在使用 0.13.1 我认为这是最新的,但我会检查 0.12.5
    • 不,它也不适用于 0.12.5。还有其他选择吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多