pandas 如何获取字典json数据列表并将其作为表数据显示在html页面上

iovurdzv  于 2022-11-05  发布在  其他
关注(0)|答案(2)|浏览(182)

我有两列数据,一列是“GLI代码”,另一列是“国家”。
我需要在“GLI代码”列中设置“GLI代码”数据。在“国家”列中设置“国家”数据。这是我的数据在字典格式的列表中。
视图文件:

def tables_data(request):
    dbfs_source_file_path = 'dbfs:/mnt/adls/MPF/Alternate_Currency_Keys_Aug.csv'
    local_file_download_path = './mpf_dataset.csv'
    dbfs_api  = DbfsApi(api_client)
    dbfs_path = DbfsPath(dbfs_source_file_path)
    dbfs_api.get_file(dbfs_path, local_file_download_path, overwrite = True)
    df = pd.read_csv(local_file_download_path).head(5)
    json_records = df.reset_index().to_json(orient ='records')
    data = []
    data = json.loads(json_records)
    return render(request, "home/tables-data.html", {'data':data})

数据输出:

[{'index': 0, 'GLI Code': '15013256_U', 'Country': 'Indonesia', }, 
{'index': 1, 'GLI Code': '20061265_U', 'Country': 'Philippines'}, 
{'index': 2, 'GLI Code': '20063869_U', 'Country': 'Indonesia'}]

html文件:

<thead> 
  <tr>
    {% for i in data %}
    <th>{{i}}</th>
    {% endfor %}
  </tr>
  </thead>
  <tbody>
  <tr>  
    {% for g in data.GLICode %}
    <td>{{g}}</td>
    {% endfor %} 
  </tr>
  <tr>  
    {% for c in data.Country %}
    <td>{{c}}</td>
    {% endfor %} 
  </tr>
  </tbody>

上面的html代码没有给我预期的输出像下面的截图数据。

我想将数据设置为以下截图格式。

mepcadol

mepcadol1#

这样做是可行的,**但是!**您必须从数据中的 “GLI代码” 中删除空格。在模板中使用带有空格的字典键似乎是一个巨大的头痛(额外的自定义模板标签+东西)-可以这样做,但不推荐

<table> 
  <thead>
    <tr>
      <th></th>
      <th>GLI Code</th>
      <th>Country</th>
    </tr>
  </thead>
  <tbody>
    {% for i in data %}
      <tr>
        <th>{{i.index}}</th>
        <th>{{i.GLICode}}</th>
        <th>{{i.Country}}</th>
      </tr>
    {% endfor %}
  </tbody>
</table>

--

编辑

要重命名该列,我将执行以下操作:

for i in data:
    i[‘GLICode’] = i.pop(‘GLI Code’)

我在移动的上写的,所以可能有什么不对,但碎片都在那里。

v8wbuo2f

v8wbuo2f2#

我认为这将是更好的使用 AJAX 请求,而不是它.请访问:https://www.geeksforgeeks.org/handling-ajax-request-in-django/
但是你的代码的主要问题是你试图在HTML中得到关键字,这在不太正确,你可以看到一个例子.访问:How to display Json items in Django templates?

相关问题