gpt4 book ai didi

python - 更改 Dominate 表中单元格的样式或背景 (Python)

转载 作者:太空宇宙 更新时间:2023-11-03 16:43:26 24 4
gpt4 key购买 nike

这是我的 csv 文件中的一个示例(假设 xxxx.img 实际上是 http://my.website.me/xxxx.img )

LHS_itemname,LHS_img, LHS_color, RHS_itemname, RHS_img, RHS_color 
backpack, bck.img, blue , lunchbox, lch.img, blue
backpack, bck.img, green , lunchbox, lch.img, blue

我想将此 csv 显示为 HTML 表格,其中每个图像 url 都可以使用 web url 从 web 抓取并显示在表格内。如果 LHS_color 与 RHS_color 相同,我希望表格中的该行具有灰色背景。

这是迄今为止我在 Python 中使用 dominate 包所得到的结果:

import os
import os.path
import sys
import csv
import urllib
import re
import glob
import numpy as np
from dominate import document
from dominate.tags import *
import dominate

设置输入 csv 和输出 html 的名称(将它们称为 inFileName 和 outFileName)

f = open(inFileName, 'rb')  # Path to csv file
reader = csv.reader(f)
header = ['LHS_itemname','LHS_img', 'LHS_color', 'RHS_itemname', 'RHS_img', 'RHS_color']
with document(title='ItemsBoughtTogether') as doc:
h1('ItemsBoughtTogether', align = 'Center')
with table(border='1').add(tbody()):

l = thead().add(tr())
for col in header:
print col
l += td(p(b(str(col))))

l = thead().add(tr())
for row in reader:
l = tr()
l += td(p(row[0], ALIGN='Center'))
l += td(p(row[1], ALIGN='Center'))
l += td(div(img(src=row[2]), _class='photo', ALIGN='Center')) # img LHS
l += td(p(row[3], ALIGN='Center'))
l += td(p(row[4], ALIGN='Center'))
l += td(div(img(src=row[6]), _class='photo', ALIGN='Center')) # img RHS
if row[2] == row[5]: {background-color:'grey'}

这最后一个 if 语句是我不知道如何在语法上放入的内容。一般来说,我很难找到 html 表格的主导示例,因此如果有人有良好的资源,请发表评论。

最佳答案

我从未使用过主导,但通常最好使用 CSS 属性(如背景颜色)的样式表。我将在此处包含一个外部样式表,如果满足您的条件,则为该行指定一个特定的类。

例如。样式.css:

.grey_background {
background-color: grey;
}

添加链接(在 with document(title... 行之后:

with doc.head:
link(rel='stylesheet', href='style.css')

最后,添加类 - 而不是:l = tr(),执行如下操作:

l = tr(_class='grey_background') if row[2] == row[5] else tr()

编辑:或者,对于内联样式

由于它似乎支持关键字,因此以下内容应该有效:

l = tr(style="background-color: grey") if row[2] == row[5] else tr()

关于python - 更改 Dominate 表中单元格的样式或背景 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36562080/

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