python HTML for loop format

2020-03-06 07:40发布

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.

2条回答
▲ chillily
2楼-- · 2020-03-06 08:23

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()
查看更多
叼着烟拽天下
3楼-- · 2020-03-06 08:29

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>
查看更多
登录 后发表回答