如何通过SQL查询将每行结果转换为独立列表对象?
如何将数据库查询的元组结果转为独立列表对象?
你的SelectData函数中,数据库游标返回的每行结果是元组,要把每个元组转成独立的列表对象,有两种简单的实现方式:
方法一:遍历过程中逐个转换
直接在遍历游标结果时,用list()把元组转为列表:
def SelectData(self): query = "Select * from python_training.rules" curr = self.con.cursor() curr.execute(query) for row in curr: result = list(row) # 将元组转换为列表 print(result)
执行后输出会变成:
[1, 'CU_GFC_ID', '11A'] [2, 'GFCID', '10'] [1, 'GFCID', '11']
方法二:批量转换并收集所有列表
如果需要把所有结果列表统一保存,可以用列表推导式批量处理:
def SelectData(self): query = "Select * from python_training.rules" curr = self.con.cursor() curr.execute(query) # 一次性将所有元组结果转为列表,存入大列表 all_results = [list(row) for row in curr] # 遍历打印每个独立列表 for result in all_results: print(result) return all_results # 可选:返回包含所有列表的大列表
原理很简单:Python中list()函数可以直接将元组(或其他可迭代对象)转换为列表类型,适配你的需求。
内容的提问来源于stack exchange,提问作者Abhi
相关产品推荐
相关产品推荐

