【问题标题】:How to reference column names with dashes如何使用破折号引用列名
【发布时间】:2020-04-22 13:13:54
【问题描述】:

以下内容按预期工作,但是,我坚持引用特定的列名。例如,只打印[OD-Nr][OD-Title]

我知道如果我使用别名,它会像print(row.id) 一样简单,但我宁愿尽可能避免使用别名。

import pyodbc

conn = pyodbc.connect('Driver={SQL Server};'
                      'Server=xxxx;'
                      'Database=xxxx;'
                      'UID=xxxx;'
                      'PWD=xxxx;')

cursor = conn.cursor()
cursor.execute("Select [OD-Nr],[OD-Title] from [dbo].[OD]")

for row in cursor:
    print(row)

任何方向都将不胜感激。

【问题讨论】:

标签: python python-3.x


【解决方案1】:

听从 gregory 的建议,我查看了 cursor.description 并添加了一些改动以将列名数组转换为小写。

很高兴知道任何替代方法。

import pyodbc

conn = pyodbc.connect('Driver={SQL Server};'
                      'Server=xxxx;'
                      'Database=xxxx;'
                      'UID=xxxx;'
                      'PWD=xxxx;')

cursor = conn.cursor()
cursor.execute("Select [OD-Nr],[OD-Title] from [dbo].[OD]")

aCol=[column[0].lower() for column in cursor.description]
iCol=aCol.index('od-title'.lower() )

for row in cursor:
    print(row[iCol])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    相关资源
    最近更新 更多