有没有办法在Python中使用列名而不是列索引来检索SQL结果列值?我正在使用Python 3和mySQL.我正在寻找的语法非常类似于Java构造:
Object id = rs.get("CUSTOMER_ID");
Run Code Online (Sandbox Code Playgroud)
我有一个包含大量列的表,为我需要访问的每个列不断计算索引真的很痛苦.此外,索引使我的代码难以阅读.
谢谢!
我一直在使用PyMySQL一段时间,并创建了我自己的包装器,我习惯于简写编写查询.尽管如此,我一直在使用OrderedDict创建CSV文件,因为我需要保持顺序相同但我意识到如果我使用PyMySQL来查询数据库,我将无法得到数据库回馈的顺序.如果我只想转储东西而不是手写订单,这对于检查CSV文件有点烦人.
我的问题是,如何将PyMySQL与OrderedDict一起使用?目前我的代码如下:
import pymysql
conn = pymysql.connect(host='localhost', user='root', passwd='', db='test')
cursor = conn.cursor(pymysql.cursors.DictCursor)
Run Code Online (Sandbox Code Playgroud)
所以每当我查询时,我都会收到一本字典:
cursor.execute("""SELECT * FROM test""")
for row in cursor:
pp(row) # gives me dictionary
Run Code Online (Sandbox Code Playgroud)
我想要的是,当我浏览游标时,我实际上是按照它们从数据库中进入的顺序检索列的OrderedDict.
就像是:
cursor = conn.cursor(pymysql.cursors.OrderedDict)
Run Code Online (Sandbox Code Playgroud)