인프런 커뮤니티 질문&답변

bluebamus님의 프로필 이미지

작성한 질문수

다양한 사례로 익히는 SQL 데이터 분석

시각화 - PostgreSQL과 Pandas 연계하기

현재 모든 판다스 파일에 오류가 발생되는것 같습니다.

23.07.29 16:25 작성

·

315

0

어제 장문의 글을 올렸는데 이유는 모르겠으나 찾아볼수가 없어서 다시 작성을 합니다.

현재 sqlalchemy의 문법 강제성의 이유로 2.0.0 버전 이후로는 사용하신 방법으로는 실행이 되지 않습니다.

이에 2.0.0 이전 버전으로 다운그레이 하거나

(저는 이 방법이 통하지 않아 다른 방법을 찾아봤습니다)

다음과 같은 방법을 사용하면 됩니다.

  • 제가 참고한 해외 커뮤니티들에서 제시하는 사용 방법으로는 모든 query에 text() 함수를 사용해 반환된 값을 read_sql_query에 사용하라고 되어 있었는데 테스트 해 보니 현재 작성된 쿼리 스트링으로 사용해도 문제가 없었습니다.

import pandas as pd
from sqlalchemy import create_engine, text

conn_string = 'postgresql://postgres:1324@localhost:5432/inflearn'
conn = create_engine(conn_string)
postgres_engine = conn.connect()

답변 2

0

권 철민님의 프로필 이미지
권 철민
지식공유자

2023. 07. 31. 11:17

말씀하신대로 sqlalchemy가 2.0.0으로 upgrade 되면서 문제가 발생하는 군요.

말씀하신 내용을 기반하고, 여러가지 테스트를 해본 결과 아래와 같이 적용이 필요해 보입니다.

  1. sqlalchemy 버전을 2.0.0이상으로 upgrade하면 pandas 버전도 2.0.3 으로 버전 upgrade하면 text()로 감싸지 않아도 sql문을 기존 string으로 처리 가능

  2. sqlalchemy 버전을 강의 실습 버전대로 1.4.40으로 downgrade하더라도 pandas등의 호환 문제로 인해 sql문을 기존 string으로 처리시 오류 발생. 이 경우 text()로 sql문을 처리

좀 더 테스트 해보고, 해당 내용을 반영해서 다시 실습 환경 설정 강의 영상을 수정하도록 하겠습니다.

알려 주셔서 감사합니다.

0

권 철민님의 프로필 이미지
권 철민
지식공유자

2023. 07. 29. 21:36

안녕하십니까,

좋은 정보 감사드립니다.

음, 이런 일이 있군요. 제가 일요일에 좀 더 테스트 해보고 다시 말씀드리겠습니다.

감사합니다.