我创建了一个脚本,可以打开目录中包含的所有csv和xlsx文件。当我的目录不包含一种类型的文件时,会出现我的问题。 (例如:5 csv和0 xlsx OR 0 csv和14 xlsx) 这是我的脚本的样子:
#step 1
file.list <- list.files(pattern='*.csv')
csv_df <- lapply(file.list, read.csv, header=TRUE)
#step 2
file.list <- list.files(pattern='*.xlsx')
xlsx_df <- lapply(file.list, read_excel_function)
我收到错误消息:
Error in do.call("rbind", xlsx_df) :
le second argument doit être une liste (the second argument must be a list)
如果list.files没有返回任何内容,您是否知道如何添加跳过一步的条件?
答案 0 :(得分:2)
只有file.list
非空时,才能执行read / combine命令。例如:
file.list <- list.files(pattern='*.csv')
if (length(file.list) > 0){
csv_df <- lapply(file.list, read.csv, header=TRUE)
}
如果您希望else
在没有相关文件的情况下拥有其他值,您还可以添加csv_df
条件。