存储数据(表)的最佳方式和表示i的简单访问

2024-05-15 08:43:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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_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表。 我做得很好,还是有别的办法做得更好?你知道吗


Tags: 数据infordatalenrangeauditorarray
1条回答
网友
1楼 · 发布于 2024-05-15 08:43:24

您可以将数据转换为列表列表,并根据标题保持项目的顺序。你知道吗

来自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>

相关问题 更多 >