Reputation: 141
I want to make the code below to get formatted as HTML. However I'm having problem formatting it as HTML.
cur.execute("SELECT Statement")
rows = cur.fetchall()
html = """\
<table border='1'>
<tr><th>Date</th><th>DPC</th><th>TOTAL</th><th>Success</th></tr>
<tr>
for row in rows:
for col in row:
print "<td>"
print "%s".replace(" ", "") % col
print "</td>"
print "</tr>"
</table>
"""
My goal is to make it html output, however I don't know how to make the for loop output as formatted html.
Upvotes: 4
Views: 26386
Reputation: 836
I hope this is the code you're looking for:
html = """\
<table border='1'>
<tr><th>Date</th><th>DPC</th><th>TOTAL</th><th>Success</th></tr>"""
for row in rows:
html = html + "<tr>"
for col in row:
html = html + "<td>" + col.replace(" ", "") + "</td>"
html = html + "</tr>"
html = html + "</table>"
Every HTML tag is appended to the html
string variable. You can write the contents of this html
variable to file:
f = open('temp.html','w')
f.write(html)
f.close()
Upvotes: 7
Reputation: 691
For that case you'll need to use jinja2.
<!DOCTYPE html>
<html lang="en">
<head>{{ title }}</head>
<body>
<table border='1'>
<thead>
<tr>
<th>Date</th>
<th>DPC</th>
<th>TOTAL</th>
<th>Success</th>
</tr>
</thead>
<tbody>
<tr>
{% for col in rows %}
<td>{{ col }}</td>
{% endfor %}
</tr>
</tbody>
</body>
</html>
Upvotes: 4