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

手动删除Excel数据后Spark读取结果出现null值问题咨询

问题原因

  1. 你没有真正删除Excel的最后一行
    你按退格只是清空了最后一行对应单元格的内容,并没有删除整行的结构,Excel文件仍然会记录这一行的存在,读取时会被判定为有效行。
  2. 库的默认配置导致空行被保留
    你使用的com.crealytics.spark.excel库默认开启keepEmptyRows参数(默认值为true),会主动保留读取到的空行,你没有手动关闭该参数,所以被清空内容的行仍然会被读取。
  3. 对treatEmptyValuesAsNulls参数的理解有误
    该参数仅控制单元格值明确为空字符串的场景下是否转换为null,当单元格是无任何赋值的空白单元格、或者行本身是完全空白的空行时,不受这个参数控制,读取结果仍然为null。

额外注意

你当前配置option("header", "false")和你的文件结构不匹配:你的Excel第一行是表头country,如果保持该配置为false,第一行的表头会被当成数据行读取,列名也会被自动生成为_c0这类默认名称,建议修正为option("header", "true")。

解决方法

  • 彻底删除不需要的行:在Excel中选中目标行,右键选择「删除」整行,而非仅清空单元格内容。
  • 读取时自动过滤空行:在读取参数中添加.option("keepEmptyRows", "false"),即可自动跳过所有空行。

内容的提问来源于stack exchange,提问作者Sarvesh Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:45:03