인공지능 AI/머신러닝 Machine Learning

Q. 판다스Pandas에서 MySQL 접속해서 테이블 데이터 읽어오는 법은?

Tap to restart 2021. 4. 7. 14:00

A. read_sql_table 메소드로 읽어올 수 있다.

 

MySQL 데이터베이스를 sql 파일로 출력해서 읽어오는 방법을 시도했는데, 판다스에서는 제공해주지 않는 거 같다.

MySQL 데이터베이스에서 특정 테이블을 csv로 출력해서 read_csv 메소드를 활용해서 읽어도 된다.

문제는 테이블 특정 칼럼 안에 ','나 '\t'이 있을 경우 csv 또는 tsv로 출력한 뒤 판다스에서 해당 파일을 읽어올 경우 오류가 발생한다.

 

그런 경우에는 데이터베이스에 접속해서 바로 판다스에서 읽어오는 것이 편하다.

 

판다스에서 바로 접속해서 읽어올 경우 데이터베이스 연결이 반드시 필요하다. 데이터베이스에 연결하는 라이브러리는 많은데, 판다스에서는 sqlalchemy만 지원한다. 따라서 sqlalchemy를 사용해서 연결해야 한다.

 

연결 코드는 아래와 같다.

해당 정보를 입력하면 된다.

 

mysql:만 쓰면 에러가 난다. mysql+pymysql을 써야 한다.

 

참고: pandas.read_sql_table