【发布时间】:2010-11-04 07:28:08
【问题描述】:
我有一个 csv 文件,数据和一个 HTML 文件,模板。
我想要一个脚本,该脚本将使用 html 文件作为模板,从 csv 文件中为每条记录创建一个单独的 html 文件。
在 Ruby 中执行此操作的最佳方法是什么? Python? 是否有任何一种语言都可以使用的工具/库?
【问题讨论】:
标签: python html ruby formatting csv
我有一个 csv 文件,数据和一个 HTML 文件,模板。
我想要一个脚本,该脚本将使用 html 文件作为模板,从 csv 文件中为每条记录创建一个单独的 html 文件。
在 Ruby 中执行此操作的最佳方法是什么? Python? 是否有任何一种语言都可以使用的工具/库?
【问题讨论】:
标签: python html ruby formatting csv
Ruby 内置了 CSV 处理,这使得输出静态 HTML 文件变得相当简单。
见:
实际上,Python 也是如此,所以这实际上是个人喜好问题(或任何您已经配置的问题)。
【讨论】:
Jinja2 的 Python。
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>
【讨论】: