如何让read.csv读取空CSV/表格时返回NA而非抛出错误?
解决read.csv读取空CSV报错并返回NA的方法
当通过read.csv()读取空CSV(前5行无内容)时会触发报错,你可以用tryCatch()封装读取逻辑,捕获特定错误并返回NA,避免程序中断:
自定义安全读取函数
read_csv_safe <- function(file_path, ...) { tryCatch( # 正常读取逻辑 read.csv(file_path, ...), # 错误处理分支 error = function(err) { # 匹配空行导致的错误 if (grepl("first five rows are empty", err$message)) { return(NA) } else { # 其他错误原样抛出 stop(err) } } ) }
使用方式
之后用这个自定义函数替代read.csv()即可:
# 读取目标链接 my_data <- read_csv_safe("你的公共数据库CSV链接")
如果需要返回的是含NA的空数据框而非单个NA,可把return(NA)改成return(data.frame(result = NA)),根据实际需求调整。
内容的提问来源于stack exchange,提问作者CyanoSloughth
相关产品推荐
相关产品推荐

