将文件从Excel导入到R,而不引用列,即A:H,并通过其名称调用特定列,而不使用整个数据集

y0u0uwnf  于 2023-04-18  发布在  其他
关注(0)|答案(1)|浏览(122)

有没有办法将Excel中的特定列导入R中,这样R就不会读取整个文件,而只读取我希望它读取的特定列?这不应该直接使用任何Excel列引用,即列A:H,因为列顺序可能会改变。
我创建了一个列列表,并试图使用read_excel函数导入它,并使用列列表只导入那些列。然而,当excel文件中有额外的列时,R也试图读取这些列。有没有任何函数只读取我需要的列,而不阅读整个文件,然后在R中创建一个数据框。
在Name,Alpha,Beta,Gamma列之外,我只需要“Name”,“Alpha”,“Beta”中的值,甚至不希望R读取“Gamma”列的值。

col_list=c("Name","Alpha","Beta")

Month1_2020 <- read_excel("Complete Data.xlsx", sheet = "Month1_2020")[c(col_list)]
4si2a6ki

4si2a6ki1#

您可以考虑以下在Windows上工作的方法。

library(RDCOMClient)

path_xlsx_File <- "D:/Excel_File.xlsx"

xlApp <- COMCreate("Excel.Application")
xlApp[["Visible"]] <- TRUE
xlWbk <- xlApp$Workbooks()$Open(path_xlsx_File)
Sheets <- xlWbk$Sheets()

rng <- Sheets[[1]]$Range("A:A")
vec_Val <- unlist(rng$Value()) # Get values of range A

相关问题