我的数据库中有一个包含字典的 TEXT 列。问题是 - 如何从那里提取所有元素?
cur.execute("""CREATE TABLE IF NOT EXISTS info (
id INT,
cards TEXT,
wins INT,
defeat INT,
duel TEXT
)""")
con.commit()
...
cur.execute(f"""INSERT INTO info (id, cards, wins, defeat, duel) VALUES ({member.id}, '[]', 0, 0, Null)""")
...
test = cur.execute(f"""SELECT cards FROM info WHERE id = {ctx.author.id}""").fetchone()[0]
print(test) #["", "", ""]
你应该先查询
然后处理数据
举个例子:
接收到的数据
fetchone()[0]将具有数据类型str,因此为了方便使用它们,可以使用库将它们转换为适当的形式ast现在您可以像处理常规列表一样处理数据。
这很简单。
假设我们要显示用户名和id。
接下来,通过编号,我们从表中提取值。表中的编号从 0 开始。因此: