用Python将CSV中的一列转换为HTML页面中的段落
我有一段代码,可以把CSV文件直接转换成HTML格式,这样在网页上看起来就像一个表格。不过,我想把第一列的内容提取出来,然后把这一列的内容放进一个div里,让它看起来像普通的段落。比如说,如果数据是:
1 5
2 6
3 7
4 8
那么这个div的内容应该是横着排列的:
1 2 3 4
5 6 7 8
这样的话,其实就是某种转置矩阵的效果……
这个文档最终会有大约100行和4列。我希望能把每一列提取出来,然后一个接一个地变成段落。
这是我用来把CSV转换成HTML表格的代码:
import sys
import csv
if len(sys.argv) < 3:
print "Usage: csvToTable.py csv_file html_file"
exit(1)
reader = csv.reader(open(sys.argv[1]))
htmlfile = open(sys.argv[2],"w")
colnum = 0
htmlfile.write('<div style="margin-left:220px;">')
for column in reader:
if colnum == 0:
htmlfile.write('<p>')
for row in column:
htmlfile.write ( row )
htmlfile.write('</p>')
else:
rownum = 1
if colnum % 2 == 0:
htmlfile.write('<p class="color1">')
else:
htmlfile.write('<p class="color2">')
htmlfile.write('</div>')
exit(0)
而这是我重新格式化的代码,希望能把内容变成段落:
htmlfile.write('<div style=" position: absolute; margin-
left:520px; top:100px;">')
for column in reader:
if colnum == 0:
htmlfile.write('<p>')
for row in column:
htmlfile.write ( row )
htmlfile.write('</p>')
htmlfile.write('</div>')
exit(0)
但当然,这并没有成功!!我才学了Python大约3天,所以即使看了很多书和网站,我还是不知道该怎么做。
1 个回答
0
你可以使用 csv.reader 函数把CSV文件读取成一个元组的列表。然后,你可以用 zip函数来转置 数据。等到行和列互换之后,你就可以遍历这些新的行,把它们连接起来形成一个段落,每一行作为一个div。