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 |