tableHTML 中行的条件突出显示

问题描述

tablehtml 中:有没有办法根据一个条件列突出显示完整的行?像这样的东西,但在 mpg-、cyl- 和 disp-列中也有红色单元格:

import requests
# url = "http://*******/(number from 1 to 1,000,000)"
available_numbers = []

for i in range(1,1000000):
    url = f"http://*************/{i}"
    data = requests.get(url)

    if data.status_code == 200:
        available_numbers.append(i)

print(available_numbers)

解决方法

我自己找到了答案。 使用 add_css_row 函数,可以将条件添加到 rows 参数中:

my_df <- mtcars[1:10,1:3]
tableHTML(my_df) %>%
add_css_row(css = list('background-color','red'),rows = grep("Hornet",rownames(my_df)) + 1)

enter image description here

,

我们打算在包中包含该功能,但尚未实现。不过,它可以通过一些 hack 来完成:

首先,我们为条件创建一个逻辑向量,然后我们创建一个 tableHTML 对象。然后,对于 tableHTML 对象中的每一列,我们可以使用函数 add_css_rows_in_column 在循环中应用样式:

library(tableHTML)

conditional <- grepl("Hornet",rownames(mtcars[1:10,])) 

my_tableHTML<- mtcars[1:10,1:3] %>% 
 tableHTML()
for (i in 0:3) {
 my_tableHTML <- my_tableHTML %>% 
  add_css_rows_in_column(css = list(c("background-color"),ifelse(conditional,"red","")),column = i)
} 

my_tableHTML

结果如下: tableHTML_result

,

在最近发布的 tableHTML 版本(2.1.0 版)中,有一个选项可以选择 logical 作为带有 add_css_conditional_column 的条件类型,它也可以用作行条件突出显示的代理如果它应用于所有列

基本上,您定义条件的逻辑向量(就像 clemens 的答案一样),然后选择将其应用到所有列,如下所示:

my_df <- mtcars[1:10,1:3]
conditional <- grepl("Hornet",rownames(my_df)) 

tableHTML(my_df) %>%
  add_css_conditional_column(conditional = "logical",columns = 0:ncol(my_df),css = list('background-color',"red"),logical_conditions = list(conditional))

enter image description here