반응형
df.to_sql() 함수는 Pandas 데이터프레임을 SQL 데이터베이스에 저장하는 데 사용됩니다. 이 함수를 사용하면 데이터프레임을 데이터베이스 테이블에 삽입할 수 있습니다.
메서드 구문:
df.to_sql(
name,
con,
schema=None,
if_exists='fail',
index=True,
index_label=None,
chunksize=None,
method=None
)
주요 매개변수:
- name: 테이블의 이름을 나타내는 문자열.
- con: 데이터베이스 연결을 나타내는 SQLAlchemy 엔진 또는 데이터베이스 연결 문자열.
- schema: 데이터베이스 스키마의 이름 (선택 사항).
- if_exists: 테이블이 이미 존재하는 경우의 동작을 지정. 'fail' (기본값), 'replace', 또는 'append' 중에서 선택할 수 있습니다.
- index: 데이터프레임의 인덱스를 데이터베이스 테이블에 저장할지 여부를 설정. 기본값은 True입니다.
- index_label: 인덱스의 열 이름을 지정 (선택 사항).
- chunksize: 한 번에 쓰기 작업을 수행할 청크 크기를 설정 (선택 사항).
- method: 쓰기 작업을 수행하는 방법을 지정. 'multi', 'single', 또는 None 중에서 선택할 수 있습니다.
예시 코드:
import pandas as pd
from sqlalchemy import create_engine
# 데이터베이스 연결 생성 (SQLite 예시)
engine = create_engine('sqlite:///mydatabase.db')
# 샘플 데이터프레임 생성
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
# 데이터프레임을 데이터베이스 테이블로 저장
df.to_sql(name='mytable', con=engine, if_exists='replace', index=False)
# 저장된 데이터베이스 테이블의 데이터를 조회
query = "SELECT * FROM mytable"
result = pd.read_sql(query, con=engine)
print(result)
이 코드에서는 SQLite 데이터베이스를 사용하여 데이터베이스 연결을 생성하고, 샘플 데이터프레임을 데이터베이스 테이블로 저장합니다. 이를 위해 df.to_sql() 메서드를 사용하고, 테이블 이름은 'mytable'로 설정하며, 이미 존재하는 경우 덮어씁니다 (if_exists='replace') 그리고 인덱스는 저장되지 않도록 설정했습니다. 마지막으로, 저장된 데이터베이스 테이블의 데이터를 조회하여 확인합니다.
df.to_sql() 함수를 사용하면 데이터프레임을 다양한 SQL 데이터베이스 시스템에 저장할 수 있으며, 필요에 따라 설정을 조절하여 저장할 수 있습니다.
반응형
'Python > Pandas' 카테고리의 다른 글
pandas df.tail() 함수 활용하기 (0) | 2023.11.22 |
---|---|
pandas df.head() 함수 활용하기 (0) | 2023.11.21 |
pandas df.to_excel() 함수 활용하기 (0) | 2023.11.17 |
pandas df.to_csv() 함수 활용하기 (0) | 2023.11.16 |
pandas pd.read_sql() 함수 활용하기 (0) | 2023.11.15 |