从 Vertica 数据库获取列名(标题)?
Get column names (title) from a Vertica data base?
我试图在通过 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)
干杯
如果我没记错的话,您是在询问每栏的标题。
您可以使用 "class hp_vertica_client.cursor" 的数据描述符来做到这一点。
在这里能找到它 :
https://my.vertica.com/docs/7.2.x/HTML/Content/python_client/cursor.html
两种方式:
首先,如果你想要列列表,你可以只访问字典的键,这基本上就像你拥有的一样,但更短:
ColumnList = temp[0].keys()
其次,您可以访问游标的字段列表,我认为这才是您真正要找的:
ColumnList = [d.name for d in cur.description]
第二个更好,因为即使结果为空,它也能让您看到列。
我试图在通过 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)
干杯
如果我没记错的话,您是在询问每栏的标题。 您可以使用 "class hp_vertica_client.cursor" 的数据描述符来做到这一点。 在这里能找到它 : https://my.vertica.com/docs/7.2.x/HTML/Content/python_client/cursor.html
两种方式:
首先,如果你想要列列表,你可以只访问字典的键,这基本上就像你拥有的一样,但更短:
ColumnList = temp[0].keys()
其次,您可以访问游标的字段列表,我认为这才是您真正要找的:
ColumnList = [d.name for d in cur.description]
第二个更好,因为即使结果为空,它也能让您看到列。