Python 存储数据(表)的最佳方式和表示数据的简便方法
我正在使用django框架,我找到了一种存储通过RPC调用接收到的数据的方法。此数据遵循JSON格式:Python 存储数据(表)的最佳方式和表示数据的简便方法,python,html,json,django,templates,Python,Html,Json,Django,Templates,我正在使用django框架,我找到了一种存储通过RPC调用接收到的数据的方法。此数据遵循JSON格式: {"header":["data_enviament","nom_auditor","matricula","bastidor"],"data":[{"data_enviament":"05/1/2014","nom_auditor":"Brutus Brutus, Marc","matricula":"1234FRX","bastidor":"192891478kjhda"},{"data_
{"header":["data_enviament","nom_auditor","matricula","bastidor"],"data":[{"data_enviament":"05/1/2014","nom_auditor":"Brutus Brutus, Marc","matricula":"1234FRX","bastidor":"192891478kjhda"},{"data_enviament":"05/2/2014","nom_auditor":"Pepito Rudolf, Margarita","matricula":"2234FRX","bastidor":"192891478kjhda"},{"data_enviament":"05/5/2014","nom_auditor":"Patrick Linda, Judith","matricula":"5234FRX","bastidor":"192891478kjhda"}],"count":2}
我将这些数据存储到一个矩阵中(在控制器点),代码是:
for i in range(len(tabla['header'])):
array[0][i] = tabla['header'][i]
x = 1
for data in tabla['data']:
for i in range(len(tabla['header'])):
array[x][i] = data[array[0][i]]
x = x + 1
然后,我通过render函数将这些数据解析为模板,并表示为html表。
我做得很好,或者有其他更好的方法 您可以将数据转换为列表,根据标题保持项目的顺序 来自shell的演示:
>>> from django.template import Template, Context
>>> data = {"header":["data_enviament","nom_auditor","matricula","bastidor"],"data":[{"data_enviament":"05/1/2014","nom_auditor":"Brutus Brutus, Marc","matricula":"1234FRX","bastidor":"192891478kjhda"},{"data_enviament":"05/2/2014","nom_auditor":"Pepito Rudolf, Margarita","matricula":"2234FRX","bastidor":"192891478kjhda"},{"data_enviament":"05/5/2014","nom_auditor":"Patrick Linda, Judith","matricula":"5234FRX","bastidor":"192891478kjhda"}],"count":2}
>>>
>>> data = [[item[header] for header in data['header']] for item in data['data']]
>>> c = Context({'data': data})
>>> template = """
<table>
{% for row in data %}
<tr>
{% for item in row %}
<td>{{ item }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
"""
>>> t = Template(template)
>>> print t.render(c)
<table>
<tr>
<td>05/1/2014</td>
<td>Brutus Brutus, Marc</td>
<td>1234FRX</td>
<td>192891478kjhda</td>
</tr>
<tr>
<td>05/2/2014</td>
<td>Pepito Rudolf, Margarita</td>
<td>2234FRX</td>
<td>192891478kjhda</td>
</tr>
<tr>
<td>05/5/2014</td>
<td>Patrick Linda, Judith</td>
<td>5234FRX</td>
<td>192891478kjhda</td>
</tr>
</table>
>>来自django.template导入模板,上下文
>>>数据={“标题”:[“数据环境”,“名义审计员”,“矩阵”,“巴斯蒂多”],“数据”:[{“数据环境”:“2014年1月5日”,“名义审计员”:“布鲁特斯,马克”,“矩阵”:“1234FRX”,“巴斯蒂多”:“192891478kjhda”},{“数据环境”:“2014年2月5日”,“名义审计员”:“佩皮托·鲁道夫,玛格丽塔”,“矩阵”:“2234FRX”,“巴斯蒂多”:“192891478kjhda”},{“2014年5月5日”,“注册会计师”:“帕特里克·琳达,朱迪思”,“matricula”:“5234FRX”,“巴斯蒂多”:“192891478kjhda”}],“伯爵”:2}
>>>
>>>数据=[[item[header]用于数据中的标题['header']]用于数据中的项目['data']]
>>>c=上下文({'data':data})
>>>模板=“”“
{数据%中的行为%1}
{第%行中的项目为%1}
{{item}}
{%endfor%}
{%endfor%}
"""
>>>t=模板(模板)
>>>打印t.render(c)
05/1/2014
布鲁特斯布鲁特斯,马克
1234FRX
192891478kjhda
05/2/2014
佩皮托·鲁道夫,玛格丽塔
2234FRX
192891478kjhda
05/5/2014
帕特里克·琳达,朱迪思
5234FRX
192891478kjhda