R XLConnect – 根据列颜色过滤列
在XLconnect
软件包(或R
任何其他软件包)中,是否可以读取headers
具有颜色的Excel
表,并根据这些颜色在R
过滤它们?
例如, A, C & E
column headers
用绿色填充,在R中读取后,是否可以根据该颜色对它们进行过滤?
谢谢
是的,我相信它是:读取到R
,使用xlsx
包xlsx
压缩:
library(xlsx) wb <- loadWorkbook("test.xlsx") sheet1 <- getSheets(wb)[[1]]
比得到行和单元格:
# get all rows rows <- getRows(sheet1) cells <- getCells(rows) # quick look at the values sapply(cells, getCellValue) # 1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1 10.1 11.1 # "x" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
现在颜色信息在哪里? 这是在cell style
:
styles <- sapply(cells, getCellStyle)
现在一个函数给你的细胞的RGB
值:
注意:下面的行给单元格背景颜色style$getFillForegroundXSSFColor()
cellColor <- function(style) { fg <- style$getFillForegroundXSSFColor() rgb <- tryCatch(fg$getRgb(), error = function(e) NULL) rgb <- paste(rgb, collapse = "") return(rgb) }
想要更多信息? 去这里