【问题标题】:How to read excel sheet with specific string into R如何将具有特定字符串的excel表读入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'。

【问题讨论】:

    标签: r excel


    【解决方案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....
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-10
        • 2021-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-04
        • 2021-09-06
        • 1970-01-01
        相关资源
        最近更新 更多