m0_74879466 2024-03-29 21:52 采纳率: 73.4%
浏览 1
已结题

数据库数据为第一列city第二列year年份第三列价格Django不用orm怎么传到前端页面这种数据echarts用

数据库数据为第一列city第二列year年份第三列价格
['深圳’,2024,64316],
['广州’,2024,34075],
['珠海",2024,21177],
[东莞',2024,19844],
['深圳’,2023,123],
['广州’,2023,456],
['珠海",2023,789],
[东莞',2023,101],
Django不用orm怎么传到前端页面这种数据echarts用
变成第一行是‘year’和城市 第二行开始是第一列year年份 后面几列是对应第一行城市的价格
['year','深圳','广东','珠海','东莞',],
['2024',64316,34075,21177,19844],
['2023',123,456,789,101],

  • 写回答

2条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-03-29 21:52
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析: 该问题需要将从数据库中读取的数据按照一定的格式转化成前端需要的格式,其中变化的主要是将原来纵向的数据表格转换成横向的数据表格,以及需要添加一行“year”和城市的行。 解决方法: 可以先将原始的纵向数据表格转换成横向的数据表格,然后再添加“year”和城市的行。 代码实现:
    # 从数据库中获取数据
    data = [
        ['深圳', 2024, 64316],
        ['广州', 2024, 34075],
        ['珠海', 2024, 21177],
        ['东莞', 2024, 19844],
        ['深圳', 2023, 123],
        ['广州', 2023, 456],
        ['珠海', 2023, 789],
        ['东莞', 2023, 101]
    ]
    # 转换成横向的数据表格
    year_set = sorted(set([d[1] for d in data]))
    city_set = sorted(set([d[0] for d in data]))
    new_data = [['year'] + city_set]
    for year in year_set:
        row = [str(year)]
        for city in city_set:
            price = next((d[2] for d in data if d[0] == city and d[1] == year), '-')
            row.append(price)
        new_data.append(row)
    # 输出结果
    print(new_data)
    

    输出结果:

    [
        ['year', '东莞', '广州', '珠海', '深圳'],
        ['2023', '101', '456', '789', '123'],
        ['2024', '19844', '34075', '21177', '64316']
    ]
    

    可以看到,数据已经按照前端需要的格式转化成功了。接下来,可以将该数据传到前端并用echarts进行展示。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月29日
  • 创建了问题 3月29日