我有一个包含约700个文本文件的文件夹,我想要导入并添加一列。我已经想出了如何使用以下代码执行此操作:如何在R中导入文本文件时跳过空文件?
files = list.files(pattern = "*c.txt")
DF <- NULL
for (f in files) {
data <- read.table(f, header = F, sep=",")
data$species <- strsplit(f, split = "c.txt") <-- (column name is filename)
DF <- rbind(DF, data)
}
write.xlsx(DF,"B:/trends.xlsx")
问题是,大约有100个文件是空的。因此代码停止在第一个空文件和我得到这个错误消息:
错误函数read.table中(F,标题= F,九月=“”):可用 无线输入
有没有办法跳过这些空文件?
谢谢!
你知道如何检查文件是否为空?你可以添加一个if语句('if(file is not empty){do something}')。值得注意的是:如果您遇到性能问题,那么有更高效的方法来做到这一点。多次调用rbind可能会很慢。 – Heroka