You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SQLAlchemy查询结果转为日期为键的Python字典?

解决方案

有两种直接的实现方式,可根据你的实际场景选择:

方式1:基于已有的字典列表转换

如果你已经通过[u._asdict() for u in test_results]得到了包含{'date':'xxx','prcp':xxx}的列表(假设该列表变量名为dict_list),可以用字典推导式直接生成目标字典:

date_prcp_dict = {item['date']: item['prcp'] for item in dict_list}

方式2:直接从SQLAlchemy查询结果转换

其实不需要先把查询结果转成字典列表,session.query(Measurement.date, Measurement.prcp).all()返回的是包含(date, prcp)的元组列表,直接对这个结果做推导更高效:

test_results = session.query(Measurement.date, Measurement.prcp).all()
date_prcp_dict = {date: prcp for date, prcp in test_results}

特殊情况处理

如果数据中存在同一date对应多个prcp值的情况,上述方法会让后出现的prcp覆盖先出现的。若需要保留所有prcp值,可以用defaultdict将值存为列表:

from collections import defaultdict

date_prcp_dict = defaultdict(list)
for date, prcp in test_results:
    date_prcp_dict[date].append(prcp)

内容的提问来源于stack exchange,提问作者Itsnhantransitive

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 19:39:45