Python中如何将SQL fetchall返回结果构造指定格式消息结构体
问题解决
现有代码问题梳理
- 最初的测试代码存在多处语法错误:函数定义末尾缺冒号、
str()调用缺右括号、遍历数据时没有使用迭代的行变量反而固定取第一行数据、没有把生成的字典存入列表也没有返回值。 - 最新版本的代码有两个可优化点:一是字典的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
相关产品推荐
相关产品推荐

