gpt4 book ai didi

python - 在Python中从MySQL表生成列名

转载 作者:太空宇宙 更新时间:2023-11-03 18:42:39 25 4
gpt4 key购买 nike

有什么方法可以从 SQL 选择结果中获取列名吗?这是我的小测试代码,我想要的只是从结果生成示例 JSON:

import MySQLdb
...
....

cursor.execute('SELECT * from table')
rows = cursor.fetchall()
column = [t[0] for t in cursor.description]

for row in rows:
myjson = {"id": row[column['id']], "name": row[column['name']], "age": row[column['age']]}
myresult = json.dumps(myjson, indent=4)
return myresult

但我得到 TypeError: tuple indices must be integers, not str我不想使用像这样的索引 row[2]如果我从表中添加或删除列,它不会影响结果。我希望能够引用列名称。

如有任何帮助,我们将不胜感激。

最佳答案

您可以通过cursor.description访问列名称,它是一个元组的元组。通过访问每个元素的第一个元素,您可以获得列名称。

column_names = [t[0] for t in cursor.description]

这意味着您可以使用列名 -> 索引映射创建一个字典,这至少可以让您编写类似的内容

for row in rows:
myjson = {"id": row[columns['id']], "name": row[columns['name']], "age": row[columns['age']]}
myresult = json.dumps(myjson, indent=4)
return myresult

关于python - 在Python中从MySQL表生成列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20189921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com