将sqlalchemy输出转换为python中的列表字典

将sqlalchemy输出转换为python中的列表字典,python,sqlalchemy,Python,Sqlalchemy,我有元组格式的sqlalchemy输出。请参阅下面的输出 with SQLAlchemyDBConnection() as db_conn: response = db_conn.session.query(GroceryTbl.category,GroceryTbl.name).all() for response in responses: print(response) ('Fruit', 'Mango') ('Fruit', 'Banana') ('Fruit', 'A

我有元组格式的sqlalchemy输出。请参阅下面的输出

with SQLAlchemyDBConnection() as db_conn:
    response = db_conn.session.query(GroceryTbl.category,GroceryTbl.name).all()
for response in responses:
    print(response)

('Fruit', 'Mango')
('Fruit', 'Banana')
('Fruit', 'Apple')
('Fruit', 'Grapes')
('Vegetable', 'Potato')
('Vegetable', 'Tomato')
('Vegetable', 'Carrot')
但是我希望使用pandas以下面的格式输出

output = {'Fruit':['Mango','Banana','Apple','Grapes'],'Vegetable':['Potato','Tomato','Carrot']}

请尝试使用下面的代码

import pandas as pd
output = pd.DataFrame(responses).groupby('category')['name'].apply(list).to_dict()

请尝试使用下面的代码

import pandas as pd
output = pd.DataFrame(responses).groupby('category')['name'].apply(list).to_dict()
另一种方法:

from collections import defaultdict

output = defaultdict(list)
for response in responses:
    output[response[0]].append(response[1])
print(output)
基本上,您可以创建一个字典,其中键是元组和列表值的第一个元素,并向其中添加元素。

另一种方法:

from collections import defaultdict

output = defaultdict(list)
for response in responses:
    output[response[0]].append(response[1])
print(output)
基本上,您可以创建一个字典,其中键是元组和列表值的第一个元素,并向其中添加元素