在R中处理Excel文件:如何移除第9列含空白/NA的整行?
解决方案
你需要先读取工作表数据,过滤掉第9列含NA或空白的行后,再将清理后的数据写回工作簿。在你标记的位置添加以下代码即可:
# 读取目标工作表的数据到数据框 df <- readWorksheet(wb, sheet = worksheet) # 过滤第9列无NA且非空白的行(trimws处理含空格的空白) df_cleaned <- df %>% filter(!is.na(.[[9]]) & trimws(.[[9]]) != "") # 将清理后的数据写回原工作表,覆盖原有内容 writeData(wb, sheet = worksheet, x = df_cleaned, startRow = 1, startCol = 1, overwrite = TRUE)
代码说明:
readWorksheet:从已加载的工作簿wb中读取指定工作表worksheet的内容,存入数据框dffilter:结合dplyr管道语法,!is.na(.[[9]])排除第9列为NA的行,trimws(.[[9]]) != ""排除第9列是空白(包括带空格的无效空白)的行writeData:把清理完成的数据df_cleaned写回原工作表,startRow=1, startCol=1确保从表格起始位置写入,overwrite=TRUE覆盖原有内容
另外注意:R语言区分大小写,你原代码里的Library要改成library,loadworkbook改为loadWorkbook,saveworkbook改为saveWorkbook,否则会触发语法错误。
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

