用HTML模板格式化CSV文件数据

7 投票
2 回答
5650 浏览
提问于 2025-04-15 12:22

我有一个csv文件,里面存着数据,还有一个HTML文件,叫做模板

我想要一个脚本,能够根据csv文件里的每一条记录,生成一个独立的HTML文件,并且用那个HTML文件作为模板。

在Ruby或者Python中,哪种方法最好呢?有没有什么工具或者库可以用来实现这个功能?

2 个回答

5

Ruby有内置的CSV处理功能,这让输出静态HTML文件变得相对简单。
可以参考以下链接:

其实,Python也有类似的功能,所以这主要是个人的喜好问题(或者说你已经配置好的工具)。

6

使用Python和Jinja2

import jinja
import csv

env= jinja.Environment()
env.loader= jinja.FileSystemLoader("some/directory")
template= env.get_template( "name" )

rdr= csv.reader( open("some.csv", "r" ) )
csv_data = [ row for row in rdr ]

print template.render( data=csv_data )

其实,你可以直接把rdr传给Jinja来渲染,这样就可以了。

如果模板是这样的,它可以适用于多种Python结构,包括迭代器。

<table>
{% for row in data %}
<tr>
    <td>{{ row.0 }}</td><td>{{ row.1 }}</td>
</tr>
{% endfor %}
</table>

撰写回答