gpt4 book ai didi

r - 使用R读出excel-colorinfo

转载 作者:行者123 更新时间:2023-12-02 07:42:51 24 4
gpt4 key购买 nike

有没有办法用R从Excel文件中读出单元格的颜色索引?

虽然我可以使用 XLConnectXLSX 等软件包设置单元格颜色,但我发现无法从现有工作簿中提取颜色信息。

最佳答案

R-Bloggers 提供了一个可以为您完成这项工作的功能。我将答案放在这里以供将来引用。

使用xlsx包读取excel文件:

library(xlsx)
wb <- loadWorkbook("test.xlsx")
sheet1 <- getSheets(wb)[[1]]

# get all rows
rows <- getRows(sheet1)
cells <- getCells(rows)

这部分提取信息,稍后将用于获取单元格的背景颜色(或其他样式信息):

styles <- sapply(cells, getCellStyle) #This will get the styles

这是识别/提取单元格背景颜色的函数:

cellColor <- function(style) 
{
fg <- style$getFillForegroundXSSFColor()
rgb <- tryCatch(fg$getRgb(), error = function(e) NULL)
rgb <- paste(rgb, collapse = "")
return(rgb)
}

error 将处理没有背景颜色的单元格。

使用sapply您可以获得所有单元格的背景颜色:

sapply(styles, cellColor)

您还可以通过了解 RGB 代码来对它们进行分类/识别:

mycolor <- list(green = "00ff00", red = "ff0000")
m <- match(sapply(styles, cellColor), mycolor)
labs <-names(mycolor)[m]

您可以阅读更多内容并了解如何应用它:R-bloggers

您可以从 RapidTables.com 获取 RGB 代码

关于r - 使用R读出excel-colorinfo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42982344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com