1. 필요한 패키지

- sqlalchemy

- pymysql

- mysqlclient

!pip install sqlalchemy
!pip install pymysql
!pip install mysqlclient

 

2. 데이터베이스 연결

  • 데이터베이스 접속 URL은 데이터베이스 종류마다 다름
  • 별도의 패키지를 설치해야 하는 경우도 있음
  • 포트는 3306이면 생략 가능
import pandas as pd
from sqlalchemy import create_engine
import pymysql

#연결
connect = create_engine('데이터베이스종류://아이디:비밀번호@IP:포트/데이터베이스이름')
df = pd.read_sql_table('테이블', connect)
print(df)
Empty DataFrame
Columns: [num, name, vendor, description]
Index: []

 

테이블 가져와서 데이터프레임 만들기 

dataframe = pandas.read_sql_table('테이블이름', database_connection)

 

 

실습 데이터

create table dbms(
	num int(10) NOT NULL AUTO_INCREMENT,
	name varchar(255) NOT NULL,
	vendor varchar(255) NOT NULL,
	description varchar(255),
	PRIMARY KEY(num)
);

INSERT INTO dbms(name, vendor, description) values('Oracle', 'Oracle', '금융과 대기업에서 많이 사용하는 가장 안정적인 데이터베이스');

INSERT INTO dbms(name, vendor, description) values('HANA DB', 'SAP', '오라클 대체용으로 사용하는 데이터베이스로 현대 자동차에서 사용');

INSERT INTO dbms(name, vendor, description) values('MySQL', 'Oracle', '현재 가장 많이 사용한다고 알려진 관계형 데이터베이스로 중소 기업이나 플랫폼 기업에서 주로 이용');

INSERT INTO dbms(name, vendor, description) values('Maria DB', 'Open Source', 'MySQL의 fork로 현재는 Kakao에서 사용하고 있습니다.');

INSERT INTO dbms(name, vendor, description) values('PostgreSQL', 'Open Source', '요즈음 많이 사용되는 데이터베이스');

.

import pandas as pd
from sqlalchemy import create_engine
import pymysql

#연결
connect = create_engine('mysql+mysqldb://root:0000@localhost/python_dataframe')
df = pd.read_sql_table('dbms', connect)
print(df)

 

 

 

3. 그 외의 데이터 사용

1) R의 데이터 활용

- pyreadr 이라는 패키지를 사용

- 읽는 방법

pyreadr.readr('rds 파일 경로')[None]

 

2) 통계 프로그램 데이터 읽어오기

- pyreadstat 패키지를 이용하면 SPSS, Stata, SAS 프로그램의 데이터를 읽을 수 있음

 

3) 최근 pySpark의 dataframe을 이용하는 경우가 많음

-  pySpark가 가져올 수 있는 데이터의 종류가 더 많고
- pySpark에서는 SQL을 그대로 사용할 수 있기 때문에 SQL을 아는 것이 중요

 

'Python' 카테고리의 다른 글

[Python] 데이터 시각화  (0) 2024.02.14
[Python] 데이터 탐색  (0) 2024.02.14
[Python] 크롤링 - Selenium  (0) 2024.02.14
[Python] 크롤링 - 기사 스크래핑  (0) 2024.02.14
[Python] Pandas  (1) 2024.02.08