You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用crealytics库读取Excel所有单元格值及解决列缺失问题

解决crealytics Spark Excel读取的两个问题

合并单元格值填充

crealytics Spark Excel库默认仅在合并单元格的左上角单元格保留内容,其余合并位置为空。要让所有合并单元格都能读取到对应值,只需添加fillMergedCells选项并设为true:

df = spark.read.format("com.crealytics.spark.excel")\
    .option("inferschema", False)\
    .option("header", False)\
    .option("dataAddress", "'sheet name'!")\
    .option("fillMergedCells", True)\  # 启用合并单元格值填充
    .load(excel_file_path)

该选项会自动将合并区域的内容填充到所有单元格,确保每行都能获取到合并单元格的值。

缺失F、G列的修复

常见原因:

  • 库默认忽略全为空值的列
  • dataAddress仅指定了部分数据区域,未覆盖F、G列
  • F、G列在Excel中处于隐藏状态,默认不被读取

解决方法:

  1. 明确指定列范围:修改dataAddress为包含F、G列的完整范围,比如:
    .option("dataAddress", "'sheet name'!A:G")
    
  2. 禁用空列忽略:添加ignoreEmptyColumns选项,强制读取所有列:
    .option("ignoreEmptyColumns", False)
    
  3. 读取隐藏列:如果F、G列被隐藏,添加includeHiddenColumns选项:
    .option("includeHiddenColumns", True)
    

整合后的完整代码:

df = spark.read.format("com.crealytics.spark.excel")\
    .option("inferschema", False)\
    .option("header", False)\
    .option("dataAddress", "'sheet name'!A:G")\
    .option("fillMergedCells", True)\
    .option("ignoreEmptyColumns", False)\
    .option("includeHiddenColumns", True)\
    .load(excel_file_path)

内容的提问来源于stack exchange,提问作者Ramesh Bathini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 14:20:10