当通过sql查询从python中的vertica数据库中提取数据时,我试图提取列名。我正在使用vertica-python 0.6.8。到目前为止,我正在创建第一行词典,但我想知道是否有更简单的方法。我现在就是这样做的:
import vertica_python
import csv
import sys
import ssl
import psycopg2
conn_info = {'host': '****',
'port': 5433,
'user': '****',
'password': '****',
'database': '****',
# 10 minutes timeout on queries
'read_timeout': 600,
# default throw error on invalid UTF-8 results
'unicode_error': 'strict',
# SSL is disabled by default
'ssl': False}
connection = vertica_python.connect(**conn_info)
cur = connection.cursor('dict')
str = "SELECT * FROM something WHERE something_happens LIMIT 1"
cur.execute(str)
temp = cur.fetchall()
ColumnList = []
for column in temp[0]:
ColumnList.append(column)干杯
发布于 2016-10-17 17:02:04
有两种方式:
首先,如果您想要列列表,只需访问dict的键,这基本上与您所拥有的类似,但更短:
ColumnList = temp[0].keys()其次,您可以访问游标的字段列表,我认为这是您真正想要的:
ColumnList = [d.name for d in cur.description]第二个更好,因为即使结果是空的,它也会让您看到列。
发布于 2016-10-17 10:39:11
如果我没有错的话,你是在问每一栏的标题。您可以通过使用“类hp_vertica_client.cursor”的数据描述符来做到这一点。它可以在这里找到:client/cursor.html
https://stackoverflow.com/questions/40080375
复制相似问题