R中使用readxl与lapply读取数据集时遇zip文件无法打开错误的求助
解决readxl读取Excel临时文件报错的问题
问题出在你抓取到了Excel生成的临时缓存文件(文件名以~开头的那种),这类文件是隐藏的临时文件,无法被readxl正常读取。可以通过以下两种方法解决:
方法1:直接在文件匹配时排除临时文件
修改list.files的正则匹配规则,只抓取不以~开头的xlsx文件:
file.list <- list.files(pattern="^[^~].*\\.xlsx$", recursive = TRUE) df.list <- lapply(file.list, read_excel)
正则说明:^[^~]确保文件名开头不是~,.*\\.xlsx$匹配所有以xlsx结尾的文件。
方法2:先抓取所有文件再过滤临时文件
先获取所有xlsx文件,再手动剔除包含~的文件名:
file.list <- list.files(pattern="xlsx$", recursive = TRUE) # 过滤掉带~的临时文件 file.list <- file.list[!grepl("~", file.list)] df.list <- lapply(file.list, read_excel)
这两种方法都能帮你精准获取到那12个有效月度数据集,避免读取临时文件导致的报错。
内容的提问来源于stack exchange,提问作者user17753
相关产品推荐
相关产品推荐

