首页 > 解决方案 > 如何将具有特定字符串的excel表读入R

问题描述

我有数千个 Excel 文件需要清理。我需要阅读具有特定名称的工作表并清理它们。大多数选项卡的名称都以“EQuote”之类的名称命名,但也有一些选项卡以“E-Quote”或“EQuote”的名称命名,并带有一些附加词。但是,所有选项卡的名称都包含“引用”。Can you help me on read the excel tab into dataframe when the tab's name contains 'Quote'.

我的代码是这样的,但这只能读取以'EQuote'命名的excel表。

whole_data <- lapply(file.list, function(file){
    df= read_excel(file, sheet = 'EQuote')

    ....my clean steps....
})

如何更改代码以读取表格,其中名称包含字符串“引用”。

标签: rexcel

解决方案


所以也许你可以试试这个。首先获取变量中的所有工作表名称:

library(openxlsx)
Names <- getSheetNames('file_path')

之后,您只需过滤名称以仅包含您需要的字符串

Names_good <- Names[grepl('Quote', Names)]

然后你做了一个 for 循环

library(readxl)
for(i in 1:length(Names_good)){
df <- read_excel("file_path", sheet = paste0(Names_good[i])

....your clean steps and output....

}

推荐阅读