start = '''<!DOCTYPE HTML>
<html>
<head>
<meta charset=utf-8>
</head>
<body>
<table border="1">
<tr>'''
end = '''
</table>
</body>
</html>'''
ls = []
with open('data.csv', 'r') as _f:
for line in _f:
ls.append(line.replace('\n', '').split(',')) #split以,为分隔符拆成一个列表,replace将换行改成空格,将该line加入到大列表ls里面
print(ls)
with open('data.html', 'w') as f:
f.write(start)
for i in ls[0]:
f.write('<th>{}</th>'.format(i)) #写入表头信息,其中{}代表需要进行格式化的内容,通过.format()方法来指定{}内部的值
f.write('</tr>\n')
for i in ls[1:]: #for i in ls[]: 格式后面自带一个:与ls[]无关, ls[1:]表示从第二个元素开始,因为第一个元素已经作为表头写入了
cnt = 0
for j in i:
if cnt == 0:
f.write('<tr>')
f.write('<th>{}</th>'.format(j))
cnt += 1
if cnt == len(i):
if i == ls[-1]:
f.write('</tr>')
else:
f.write('</tr>\n')
f.write(end) #该代码要放在with open代码块末尾,不然with open代码块结束后会自动关闭文件导致写入错误