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。