Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

python HTML for loop format

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.

like image 756
NaD Avatar asked Oct 26 '25 07:10

NaD


2 Answers

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()
like image 54
Siddharth Srinivasan Avatar answered Oct 27 '25 22:10

Siddharth Srinivasan


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>
like image 24
Jcc.Sanabria Avatar answered Oct 27 '25 20:10

Jcc.Sanabria



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!