On 08/05/10 13:52, Νίκος wrote:
dataset = cursor.fetchall()
for row in dataset:
print ( '''<tr> ''' )
date = row[2].strftime( '%d %b, %H:%M' )
print ( '''<td> %s</td> <td> %s</td> <td> %s</td> ''' %
( row[0], row[1], date ) )
Unfortunately had to ditch the 'for entry in row' line because
couldn't iterate over the items of the row.
Could you please shoe me how could i do the same thing with
iteration?!
Well, depending on whether "row" is a tuple or a list, you can do
either
row[2] = row[2].strftime(...) # if it's a list
# the assignment will fail if it's a tuple
or you can just iterate over a predefined list/tuple:
for row in dataset:
print ("<tr>")
for item in (row[0], row[1], row[2].strftime(...)):
print ("<td>%s</td" % item)
print ("</tr>")
Though I think I'd make it a bit clearer by naming the fields:
for host, hits, dt in dataset:
print ("<tr>")
for item in (host, hits, dt.strftime(...)):
print ("<td>%s</td>" % item)
print ("</tr>")
Or perhaps even just
print ("".join("<td>%s</td>" % item
for item in (host, hits, dt.strftime(...))
)
Whichever you prefer. I think I'm partial to the 2nd-from-last
version, especially as the list of fields may grow.
-tkc
--
http://mail.python.org/mailman/listinfo/python-list