【发布时间】:2014-02-04 11:26:16
【问题描述】:
我想使用 python 读取 CSV 数据,然后使用 Jinja2 将其输出以制作平面文件 HTML 报告。我想使用的 CSV 数据如下:
State,City,Issue,Date
Michigan,Detroit,Economic Issues,12/11/14
Michigan,Detroit,Poor Schools,12/11/14
Michigan,Battle Creek,Economic Issues,2/12/14
Georgia,Atlanta,Lack of Transit,2/12/14
Georgia,Atlanta,Traffic,2/12/14
Georgia,Cummings,Economic Issues,12/11/14
Georgia,Cummings,Poor Schools,12/11/14
Georgia,Athens,Traffic,12/11/14
Florida,Miami,Weather Issues,12/11/14
Florida,Miami,Poor Schools,2/12/14
Florida,Miami,Economic Issues,2/12/14
Florida,Miami,Lack of Transit,2/12/14
Florida,Sarasota,Economic Issues,2/12/14
Florida,Levy,Poor Schools,2/12/14
Florida,Lee,Traffic,2/12/14
California,Los Angeles,Traffic,12/11/14
Alaska,Anchorage,Weather Issues,2/12/14
我希望每个州都有一行,然后在其下有每个城市以及相关的问题和日期。
输出将与此类似:
Michigan
Detroit Economic Issues 12/11/2014
Poor Schools 12/11/2014
Battle Creek Economic Issues 02/12/2014
Georgia
Atlanta Lack of Transit 02/12/2014
Traffic 02/12/2014
Cummings Economic Issues 12/11/2014
我喜欢使用 Jinja2 并为这些数据的输出创建一个模板。我的问题是我不确定构建这些数据然后移交给模板的最佳方式。
我是否应该创建一个州字典,其中每个城市、问题和日期信息都是一个列表?它应该只是一个列表列表吗?我对数据结构应该是什么样子感到非常困惑,因此我可以轻松地在 Jinja2 模板中进行迭代。
【问题讨论】:
-
Jinja2 不应该成为您决定是否使用列表或字典的驱动因素 - 它可以同样轻松地与任何一个一起使用。
-
@lanzz 这是一个很好的观点,当然你是对的。我只是不确定构建数据的最佳/最常见方式。