如何阅读R中的空标签的Excel文件?
我在R中导入一个excel文件。它的一些标签是空的。 R没有阅读这些标签。 它给我一个错误:跳过所有的数据。
library(readxl) sheetnames = excel_sheets("Saudi Diapers.xlsx") k = length(sheetnames) i=1 for(i in 1:k) { abc = read_excel("Saudi Diapers.xlsx",i`,col_names = T) rownames(abc) = NULL tabname = paste(sheetnames[i], ".csv") write.csv(file=paste("Saudi Diapers",tabname,sep = "_"), x= abc, row.names = F,na="",sep = "") }
你可以用两种方法来做到这一点:
1. read_excel
函数,使其不会出现错误,但返回一个空的数据tryCatch
2.用tryCatch
捕获错误并返回一个空的数据tryCatch
。 我在这里select了第二个选项。 tryCatch函数本质上是试图执行一个expression式(在这个例子中是read_excel(...)
),如果它产生一个错误,它会返回错误条件中的函数(在这个例子中是data.frame(NULL)
)。
library(readxl)
我做了一个填充和两个空表的Excel表。
filename < – “test_blanksheet.xlsx”#在这里input你自己的文件名
sheetnames = excel_sheets(filename) for(i in 1:length(sheetnames)) { tempdf = tryCatch(read_excel(filename,i,col_names = T), error = function(err) { data.frame(NULL)}) write.csv(file=paste0("Saudi_Diapers_",sheetnames[i],".csv"), x= tempdf, row.names = F,na="") }
它的工作原理:
list.files()
[1]“Saudi_Diapers_Data2.csv”“Saudi_Diapers_Empty1.csv”
[3]“Saudi_Diapers_Empty3.csv”“test_blanksheet.xlsx”