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

Python中如何将SQL fetchall返回结果构造指定格式消息结构体

问题解决

现有代码问题梳理

  1. 最初的测试代码存在多处语法错误:函数定义末尾缺冒号、str()调用缺右括号、遍历数据时没有使用迭代的行变量反而固定取第一行数据、没有把生成的字典存入列表也没有返回值。
  2. 最新版本的代码有两个可优化点:一是字典的key和你预期要求的id_1~id_4不匹配,二是内层for i in range(0,1)属于多余逻辑,只会循环一次,完全可以删掉。

正确实现代码

def create_info(data):
    info = []
    for row in data:
        # 按索引取每行的字段,key和预期结构完全对齐
        temp_dict = {
            "id_1": str(row[0]),
            "id_2": str(row[1]),
            "id_3": str(row[2]),
            "id_4": str(row[3])
        }
        info.append(temp_dict)
    return info

# 直接组装成你需要的完整message结构
Data = [[100,1,4,5],[101,1,4,6]]
message = {
    "name": "Tom",
    "Job": "IT",
    "info": create_info(Data)
}

运行后message的结构和你要求的预期输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:27:05