Python 3.x SAP HANA hdblci包-获取具有列名的数据

Python 3.x SAP HANA hdblci包-获取具有列名的数据,python-3.x,hana,Python 3.x,Hana,我正在使用hdbcli包从SAP HANA加载数据 问题:加载数据时,我只获取值行,而不获取SQL表的实际标题 当我只加载3列(如下所示)时,我可以自己手动添加它们,尽管这非常难看。当我执行Select*语句时,这就不可能了,因为我真的不想手动添加它们,而且可能不知道何时会有更改 问题:是否有从表中获取列标题的标志/命令 代码MRE: #Initialize your connection conn = dbapi.connect( address='00.0.000.00',

我正在使用
hdbcli
包从SAP HANA加载数据

问题:加载数据时,我只获取值行,而不获取SQL表的实际标题

当我只加载3列(如下所示)时,我可以自己手动添加它们,尽管这非常难看。当我执行
Select*
语句时,这就不可能了,因为我真的不想手动添加它们,而且可能不知道何时会有更改

问题:是否有从表中获取列标题的标志/命令

代码MRE:

#Initialize your connection
conn = dbapi.connect(
    address='00.0.000.00',
    port='39015',
    user='User',
    password='Password',
    encrypt=True, 
    sslValidateCertificate=False
)

cursor = conn.cursor()
sql_command = "select TITLE, FIRSTNAME, NAME from HOTEL.CUSTOMER;"
cursor.execute(sql_command)
rows = cursor.fetchall()  # returns only data, not the column values
for row in rows:
    for col in row:
        print ("%s" % col, end=" ")
    print (" ")
cursor.close()
conn.close()

感谢@astentx的评论,我找到了一个解决方案:

cursor = conn.cursor()
sql_command = "select TITLE, FIRSTNAME, NAME from HOTEL.CUSTOMER;"
cursor.execute(sql_command)
rows = cursor.fetchall()  # returns only data, not the column headers
column_headers = [i[0] for i in cursor.description]  # get column headers
cursor.close()
conn.close()

result = [[column_header]]  # insert header
for row in rows:  # insert rows
    current_row = []
    for cell in row: 
        current_row.append(cell)
    result.append(current_row)

这回答了你的问题吗。它看起来可能不适用,但描述非常清晰和精确,参考了基本知识:DB API。