如何将具有特定字符串的excel表读入R
Posted
技术标签:
【中文标题】如何将具有特定字符串的excel表读入R【英文标题】:How to read excel sheet with specific string into R 【发布时间】:2018-10-23 14:50:32 【问题描述】:我有数千个 Excel 文件需要清理。我需要阅读具有特定名称的工作表并清理它们。大多数选项卡的名称都以“EQuote”之类的名称命名,但也有一些选项卡以“E-Quote”或“EQuote”的名称命名,并带有一些附加词。但是,所有选项卡的名称都包含“引用”。当标签的名称包含'报价'时,您可以帮助我在dataframe中读取excel选项卡。
我的代码是这样的,但这只能读取'EQuote'中命名的excel表。
whole_data <- lapply(file.list, function(file)
df= read_excel(file, sheet = 'EQuote')
....my clean steps....
)
如何更改代码以读取表格,其中名称包含字符串'Quote'。
【问题讨论】:
【参考方案1】:您可以使用readxl::excel_sheets
列出Excel 文件中的所有工作表,然后使用grepl()
过滤到仅包含“引用”的名称(如果工作表名称中混合大小写,则设置ignore.case = TRUE
)。
sheets <- readxl::excel_sheets(file)
quote_sheets <- sheets[grepl("Quote", sheets, ignore.case = FALSE)]
【讨论】:
【参考方案2】:所以也许你可以试试这个。首先在一个变量中获取所有工作表名称:
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....
【讨论】:
以上是关于如何将具有特定字符串的excel表读入R的主要内容,如果未能解决你的问题,请参考以下文章
只将包含某个单词的 Excel sheet_names 读入 pandas 数据框