Как избежать заголовков столбцов в кавычках при чтении данных красного смещения с pg8000 - PullRequest
0 голосов
/ 14 мая 2019

Я загружаю некоторые данные красного смещения в пандах через pg8000:

>>>> df = pd.read_sql(sql_text, pg8000_cnx)

pg8000_cnx - это объект подключения к базе данных красного смещения. Я всегда получаю столбцы с байтовыми кавычками, например:

>>> df.columns
Index([b'column_',
       b'column_2',
       ...
       b'column_n'],
       dtype='object', length=142)

Я знаю, что могу использовать .decode('utf-8') и некоторое понимание списка, чтобы преобразовать столбцы обратно в строку, но я пытался загрузить их в строковом формате из самого красного смещения. Пробовал играть с разными настройками CLIENT_ENCODING с помощью курсора pg8000, но все равно получал столбцы с байтовыми кавычками в pandas df.

import pg8000
conn = pg8000.connect(**db_details)
cursor = conn.cursor()
cursor.execute("SET CLIENT_ENCODING TO 'UTF8'")
cursor.execute(sql)
cursor.fetchone()
# load df here

Есть ли какая-то опция красного смещения или pg8000, которую я пропускаю, которая бы загружала заголовки столбцов в декодированных строках utf-8 из самого объекта соединения db?

...