提问人:Brijesh Savaliya 提问时间:11/2/2023 更新时间:11/2/2023 访问量:27
如何将 SQLResult 转换为人类可读的输出,即自然语言输出
How to convert SQLResult into a Human readable output i.e. natural language output
问:
假设我将 SQLResult 作为元组列表,并且列表中的元组计数很高,现在我想将其转换为人类可读的输出,我怎样才能用 Python 做到这一点。
例:
问题:提供包含总销售额的商店列表。
SQLResult : [('Adyar', 36283), ('Agra', 31892), ('Alibaug', 36623), ('Alwarpet', 34319), ('Andheri West', 34885), ('Anjuna', 36218), ('Ashok Nagar', 31804), ('Auli', 37329), ('Aundh', 34861), ('Bandra Kurla Complex', 33221), ('Banjara Hills', 33001), ('Bhagalpur', 34321), ('Bikaner', 34466), ('Camp', 32721), ('Chamba', 33681), ('Cherrapunji', 37580), ('Colaba', 36341), ('Coonoor', 36625),]
期望输出:总销售额的商店列表如下:
- 阿迪亚尔 - 36283
- 阿格拉 - 31892
- 阿利鲍格 - 36623
- 阿尔瓦佩特 - 34319
- 西安泰里 - 34885
- 安朱纳 - 36218
- 阿肖克纳加尔 - 31804
- 奥利 - 37329
- 安德 - 34861
- Bandra Kurla Complex - 33221(班德拉库尔拉大厦 - 33221)
- 班加拉山 - 33001
- 巴加尔布尔 - 34321
- 比卡内尔 - 34466
- 营地 - 32721
- 昌巴 - 33681
- 乞拉朋寺 - 37580
- 科拉巴 - 36341
- 库诺尔 - 36625
现在,我想要解决方案,我怎样才能用python动态地做到这一点。
我正在尝试循环,但动态消息存在问题。
答:
0赞
Corralien
11/2/2023
#1
使用 f 字符串
:
res = [('Adyar', 36283), ('Agra', 31892), ('Alibaug', 36623), ('Alwarpet', 34319), ('Andheri West', 34885), ('Anjuna', 36218), ('Ashok Nagar', 31804), ('Auli', 37329), ('Aundh', 34861), ('Bandra Kurla Complex', 33221), ('Banjara Hills', 33001), ('Bhagalpur', 34321), ('Bikaner', 34466), ('Camp', 32721), ('Chamba', 33681), ('Cherrapunji', 37580), ('Colaba', 36341), ('Coonoor', 36625),]
for idx, (name, val) in enumerate(res, 1):
print(f'{idx}. {name} - {val}')
输出:
1. Adyar - 36283
2. Agra - 31892
3. Alibaug - 36623
4. Alwarpet - 34319
5. Andheri West - 34885
6. Anjuna - 36218
7. Ashok Nagar - 31804
8. Auli - 37329
9. Aundh - 34861
10. Bandra Kurla Complex - 33221
11. Banjara Hills - 33001
12. Bhagalpur - 34321
13. Bikaner - 34466
14. Camp - 32721
15. Chamba - 33681
16. Cherrapunji - 37580
17. Colaba - 36341
18. Coonoor - 36625
# pip install rich
from rich.console import Console
res = [('Adyar', 36283), ('Agra', 31892), ('Alibaug', 36623), ('Alwarpet', 34319), ('Andheri West', 34885), ('Anjuna', 36218), ('Ashok Nagar', 31804), ('Auli', 37329), ('Aundh', 34861), ('Bandra Kurla Complex', 33221), ('Banjara Hills', 33001), ('Bhagalpur', 34321), ('Bikaner', 34466), ('Camp', 32721), ('Chamba', 33681), ('Cherrapunji', 37580), ('Colaba', 36341), ('Coonoor', 36625),]
out = '\n'.join(f'{idx}. {name} - {val}' for idx, (name, val) in enumerate(res, 1))
console = Console()
with console.pager():
console.print(out)
评论