R语言 基于Excel工作表特定位置的“字符串名称”对Excel工作簿进行分类

qxgroojn  于 2023-05-20  发布在  其他
关注(0)|答案(1)|浏览(149)

我正在使用~30个Excel工作簿,其中包含不同设计集的数据。但是,工作簿中的Excel工作表格式良好。

# There is a pattern, wherein if we have string "System setting" at 
# i.e., 
df[4,4] == "System setting"  #(then it is single core setup)

# Similarly,
df[4,6] == "System setting" # (then it is double core setup)
df[4,9] == "System setting" # (then it is triple core setup)

现在,我想根据这些信息对所有的工作簿进行分类;无论系统设置是单核、双核还是三核。
我试着跟踪。

# Creating list of file names within folder
file_list <- list.files(pattern = '*.xlsx')
file_list

# Extracting sheet of interest as list of dataframes
Setup <- sapply(file_list, function(i){
  x = read_excel(i, sheet = "Setup")
  x
}, simplify = F, USE.NAMES = T)

# Now looking for specific information at cell location, this is for specifically identify sheets with single core 
Check_single_core <- for (i in Setup){
                        x = i[4,4]
                        x
                     }

30个文件中有11个在此位置具有字符串“System setting”(即i[4,4]),但是,此处的输出为空。
我也用lapply试过这个

Check_single_core_2 <- lapply(Setup, function(j){
  y = j[4,4]
  y
})

然而,这生成30个字节的列表。全都是空白的。
我想知道我如何解决这个问题,并进一步将所有这些分类在正确的类别下。

jum4pzuy

jum4pzuy1#

如果信息位于Excel文件的特定单元格中,则可以使用以下方法:

library(RDCOMClient)

xlApp <- COMCreate("Excel.Application")
xlApp[["DisplayAlerts"]] <- FALSE
xlApp[["Visible"]] <- FALSE

path_To_Excel_File <- "D:/excel_File.xlsx"
xlWbk <- xlApp$Workbooks()$Open(path_To_Excel_File)

xlWbk$Sheets(1)$Range("B2")$Value()

您还可以考虑以下方法来读取特定单元格:

library(readxl)
read_excel(path_To_Excel_File, range = "B2")

一旦你有了这些信息,你就可以用它来分类Excel文件。

相关问题