-
[Python] psycopg2 Decimal 타입 제거하여 쿼리결과 얻기언어/파이썬 & 장고 2018. 12. 1. 13:58
SELECT 쿼리를 사용하여 DB의 값을 가져올 때, float, double과 같은 타입일 경우에 psycopg2가 Decimal 타입으로 가져오게 됩니다. 가져온 값을 그대로 다른 DB에 넣을 때 Decimal타입을 변경해줘야 하는데 귀찮으니 애초에 DB 값을 가져올 때, 아래와 같이 제거해서 결과를 출력할 수 있습니다.
from psycopg2.extensions import new_type, DECIMAL DEC2FLOAT = new_type(DECIMAL.values, 'DEC2FLOAT', lambda value, curs: float(value) if value is not None else None) psycopg2.extensions.register_type(DEC2FLOAT) conn = psycopg2.connect() cursor = conn.cursor(cursor_factory=RealDictCursor, )