python - 有没有办法从 sqlite db 以有组织的形式获取数据?
问题描述
所以我有一个 sqlite 数据库,其中包含我服务器中的所有用户和每个用户的 xp(就像任何其他调平系统一样)。有没有办法把 db 的前 10 人送到 discord?以有组织的方式,因为我以这种形式得到它。
[(722267777854865519, 9877, 20),
(356982883665051659, 8039, 17),
(746740254173560853, 7358, 17),
(750497624809013248, 7054, 16),
(605861925749915752, 6757, 16)]
有没有办法让它提及用户而不是发送他们的 ID?
(PS第一个值是用户的discord id,第二个是他们的xp,第三个是他们的等级)
我的意思是有组织的形式,
用户 1 提及(不是用户 ID) - XP - 级别
用户 2 提及(不是用户 ID) - XP - 级别
等等等等直到5。
这是代码
@commands.command()
async def lb(self,ctx):
records = db.records("SELECT UserID, XP, Level FROM exp ORDER BY XP DESC LIMIT 5")
await ctx.send(records)
解决方案
使用for
循环将数据分隔到各自的位置。
@client.command()
async def leaderboard(ctx):
data = [(722267777854865519, 9877, 20), (356982883665051659, 8039, 17), (746740254173560853, 7358, 17), (750497624809013248, 7054, 16), (605861925749915752, 6757, 16)]
for thing in data:
user = thing[0]
user_xp = thing[1]
user_level = thing[2]
print(f"Member: {user}\nLevel: {user_level}\nXP: {user_xp}")
输出:
Member: 722267777854865519
Level: 20
XP: 9877
Member: 356982883665051659
Level: 17
XP: 8039
Member: 746740254173560853
Level: 17
XP: 7358
Member: 750497624809013248
Level: 16
XP: 7054
Member: 605861925749915752
Level: 16
XP: 6757
推荐阅读
- css - CSS:以 % 宽度在 div 中以 % w/h 适合图像
- bash - 在 unix 输出中打印一列值中的多个值
- javascript - 正则表达式 - 从字符串中获取 x 个字符,但 html 标签不计入计数
- django - 如何在嵌套的 Django Rest 中过滤外键属性(列表)?
- javascript - Quill - 如何使用模块?
- ssis - XML尾部值解析并存储在SSIS中的变量中
- angular - 如何将操作员输入和延迟操作的结果结合在一起
- python - TypeError:无法序列化 xx(浮点型)(Elementtree)
- kotlin - 在抽象 Dao 类中实现 findFirst() 函数
- python-2.7 - 将python方法的返回值分配给bash脚本中的变量