【问题标题】:R Programming Ignore Case Sensitivity when reading from Excel Files从 Excel 文件读取时,R 编程忽略大小写敏感
【发布时间】:2021-10-07 08:18:53
【问题描述】:

我有一行基本上是读取一个excel文件:

MyData <- read_excel("C:/Folder/MySpreadsheet.xlsx", sheet = "Get_Data", skip = 2)

但是 R 是区分大小写的,所以当工作表名称写成“GET_DATA”时,会产生一个错误,即找不到工作表。

工作表并不总是在同一个位置,这行代码在一个循环中查看数百个电子表格。

有没有办法让 R 读取表格忽略大小写?

toupper() 或 tolower() 函数会起作用吗?它看起来如何编写?谢谢。

【问题讨论】:

  • 如果工作表位置相同,则可以传递一个索引,即sheet = 1
  • 实际上并不总是在同一个位置 :( .

标签: r


【解决方案1】:

由于我们使用readxl,使用excel_sheets 将是返回所有工作表的选项,找到与忽略大小写的“Get_Data”对应的名称(ignore.case = TRUE),并在阅读中使用它

library(readxl)
nm <- grep("Get_Data", excel_sheets("C:/Folder/MySpreadsheet.xlsx"), 
          ignore.case = TRUE, value = TRUE)
MyData <- read_excel("C:/Folder/MySpreadsheet.xlsx", sheet = nm, skip = 2)

【讨论】:

    【解决方案2】:
    # Import relevant libraries: 
    library(readxl)
    
    # Store a variable denoting the path to the file: 
    # spreadsheet_file_path => character scalar
    spreadsheet_file_path <- "C:/Folder/MySpreadsheet.xlsx"
    
    # Store a vector of sheet names: 
    # sheet_names => character vector
    sheet_names <- excel_sheets(spreadsheet_file_path)
    
    # Find the relevant sheetname regardless of case: 
    # import_sheet_name => character vector
    import_sheet_name <- grep(
      "get_data", 
      sheet_names, 
      ignore.case = TRUE, 
      value = TRUE
    )
    
    # Read in the data: MyData => data.frame
    MyData <- read_excel(
      spreadsheet_file_path, 
      sheets = import_sheet_name,
      skip = 2
    )
    

    【讨论】:

    • 欣赏谢谢我试试看
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    相关资源
    最近更新 更多