Here's a sample from my csv file (imagine that the xxxx.img are actually 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
I want to display this csv as an HTML table where each image url can be grabbed from the web using the web url and displayed inside the table. And if the LHS_color is the same as the RHS_color, I want that row in the table to have a grey background.
Here's what I have so far using the dominate
package in Python:
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
Set names for the input csv and output html (call them inFileName, and 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'}
This last if
statement is what I don't know how to put in syntactically. I'm having a hard time finding dominate examples with html tables in general, so if anyone has good resources for that, please comment.