我有一个文本文件,我在其中读取内容并将其分配给变量。我需要将内容放在HTML表中。截至目前,我写了一个python片段,将内容放在一个变量中。如何将其转换为HTML表格。我需要遍历文件并分配变量并将数据更新为表中的字段值。我该怎么做 ?需要帮助
我的.txt文件是
34,52,l,ma,cgb,eta
45,52,X,,lta,tox
67,52,V,nm,,oyt
我要阅读的代码是:
imp_auth = []
asn_eng = []
with open ("FR_list.txt","rt") as f:
for line in f:
(id,rel,sta,sev,ia,ae,iam,aem) = line.split(',')
imp_auth.append(iam)
asn_eng.append(aem)
答案 0 :(得分:1)
您可以使用一些可用的html模板引擎并渲染模板。
例如,使用Jinja2诱人引擎
from jinja2 import Template
table = """
<table>
{% for line in lines %}
<tr>
<td>{{ line[0] }}</td>
<td>{{ line[1] }}</td>
<td>{{ line[2] }}</td>
...
</tr>
{% endfor %}
</table>
"""
with open("FR_list.txt", "rt") as f:
template = Template(table)
t = template.render(lines=[line.split(',') for line in f])
print(t)
"""
<table>
<tr>
<td>34</td>
<td>52</td>
<td>l</td>
...
</tr>
...
</table>
"""
答案 1 :(得分:1)
我会把你要做的事情分开。这是我将如何做到这一点(当不使用某种类型的框架时):
def parse(filename='content.txt'):
with open(filename, 'r') as fh:
for line in fh.readlines():
row = [x.strip() for x in line.split(',')]
if len(row) < 2: continue
yield row[-2:] # iam,aem
def format_element(element):
return '\n <td>{elem}</td>'.format(elem=element)
def format_row(row):
return '<tr>' + ''.join([format_element(element) for element in row]) + '\n</tr>'
with open('result.html', 'w') as output:
for row in parse():
output.write(format_row(row))
print format_row(row)
这是我得到的输出:
<tr>
<td>cgb</td>
<td>eta</td>
</tr>
<tr>
<td>lta</td>
<td>tox</td>
</tr>
<tr>
<td></td>
<td>oyt</td>
</tr>
答案 2 :(得分:0)
You can use the following
imp_auth = []
with open ("tt.txt","rt") as f:
for line in f:
(id,rel,sta,sev,iam,aem) = line.split(',')
imp_auth.append((id,rel,sta,sev,iam,aem.replace('\n','')))
result = '<table>'
result += '<th>col1</th><th>col2</th><th>col3</th>'
result += '<th>col4</th><th>col5</th><th>col6</th>'
for t in range(0,len(imp_auth)):
for ele in imp_auth[t]:
result += '<tr>'
result += '<td>ele[0]</td>ele[1]<td>ele[2]</td>'
result += '<td>ele[3]</td>ele[4]<td>ele[5]</td>'
result += '</tr>'
result += '</table>'