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

writexl 1.4.1 bug:空日期条目变为nan(snan)问题咨询

问题描述

使用R语言的readxl读取xlsx文件,再用writexl写入后,原文件中的空条目会变为"nan(snan)"。该问题在writexl更新至1.4.1版本后出现,此前版本无此异常。

涉及代码如下:

require(writexl)
require(readxl)
data<-read_excel("test_file.xlsx")
data$ERF_DATUM[3]<-NA
write_xlsx(data, "test_file.xlsx", col_names = TRUE, format_headers = TRUE)
解决方案
  • 降级writexl版本
    回退到无问题的旧版本(如1.4.0),执行以下安装命令:

    install.packages("https://cran.r-project.org/src/contrib/Archive/writexl/writexl_1.4.0.tar.gz", repos = NULL, type = "source")
    
  • 预处理NA值后写入
    在写入Excel前,将数据框中的所有NA替换为空字符串,确保写入后显示为空白单元格:

    require(writexl)
    require(readxl)
    data<-read_excel("test_file.xlsx")
    data$ERF_DATUM[3]<-NA
    # 替换所有NA为空字符串
    data[is.na(data)] <- ""
    write_xlsx(data, "test_file.xlsx", col_names = TRUE, format_headers = TRUE)
    
  • 替换为openxlsx包
    若writexl新版本的问题无法修复,可改用openxlsx包处理文件读写,该包对NA的处理更贴合Excel空单元格的逻辑:

    require(openxlsx)
    require(readxl)
    data<-read_excel("test_file.xlsx")
    data$ERF_DATUM[3]<-NA
    write.xlsx(data, "test_file.xlsx", colNames = TRUE)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:01:11