KeyError при использовании Translate () в psycopg2 - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь удалить пробел в данных, которые мне нужно вставить в столбец.

Error Message
x = self._index[x]
KeyError: 'snumber'

Код:

cur_t = conn_t.cursor(cursor_factory=psycopg2.extras.DictCursor)
    cur_t.execute("""
                    SELECT TRANSLATE(snumber, ' ', ''), age
                    FROM sprofile """)

    for row in cur_t:
                    print row['snumber']

Код работает, если я буду использовать print row[0] вместо имени столбца. Если я запускаю SELECT TRANSLATE(snumber, ' ', '' FROM sprofile в psql, код работает нормально.

1 Ответ

0 голосов
/ 08 мая 2018

Я только что узнал, что, поскольку я использовал функцию для моих данных, имя столбца, которое будет использоваться, будет именем функции. (e.g. row['translate']) но я все еще могу использовать имя столбца snumber, указав ему псевдоним (e.g. SELECT TRANSLATE(snumber, ' ', '') as snumber

...