csv 를 읽어서 db 를 만들자

import pandas as pd
import sqlite3

# 1. CSV 파일을 읽어서 DataFrame으로 저장
df = pd.read_csv('data.csv')
print("Original DataFrame:")
print(df)

# 2. DataFrame을 가공
# 예시로 모든 문자열을 대문자로 변환하는 작업을 수행합니다.
processed_df = df.applymap(lambda x: x.upper() if type(x) == str else x)
print("\nProcessed DataFrame:")
print(processed_df)

# 3. DataFrame을 SQLite 데이터베이스에 저장
# 데이터베이스 연결 (파일명: processed_data.db)
conn = sqlite3.connect('processed_data.db')
cursor = conn.cursor()

# DataFrame을 SQL 테이블로 저장 (테이블명: processed_table)
processed_df.to_sql('processed_table', conn, if_exists='replace', index=False)

# 데이터베이스 연결을 닫습니다.
conn.close()

# 4. 데이터베이스에서 데이터를 불러와 DataFrame으로 저장
# 데이터베이스 연결 (파일명: processed_data.db)
conn = sqlite3.connect('processed_data.db')

# SQL 쿼리를 사용하여 데이터 가져오기
retrieved_df = pd.read_sql('SELECT * FROM processed_table', conn)

# 데이터베이스 연결을 닫습니다.
conn.close()

print("\nRetrieved DataFrame from database:")
print(retrieved_df)

csv 를 읽어서 만들어진 db 에 추가하자

import pandas as pd
import sqlite3

# 1. 새로운 CSV 파일을 읽어서 DataFrame으로 저장
new_df = pd.read_csv('new_data.csv')
print("New DataFrame:")
print(new_df)

# 2. DataFrame을 가공
# 예시로 모든 문자열을 대문자로 변환하는 작업을 수행합니다.
processed_new_df = new_df.applymap(lambda x: x.upper() if type(x) == str else x)
print("\nProcessed New DataFrame:")
print(processed_new_df)

# 3. 가공된 DataFrame을 기존 데이터베이스에 추가
# 데이터베이스 연결 (파일명: processed_data.db)
conn = sqlite3.connect('processed_data.db')
cursor = conn.cursor()

# 기존 테이블에 데이터 추가 (테이블명: processed_table)
processed_new_df.to_sql('processed_table', conn, if_exists='append', index=False)

# 데이터베이스 연결을 닫습니다.
conn.close()

# 4. 데이터베이스에서 데이터를 불러와 DataFrame으로 저장하여 확인
# 데이터베이스 연결 (파일명: processed_data.db)
conn = sqlite3.connect('processed_data.db')

# SQL 쿼리를 사용하여 모든 데이터 가져오기
final_df = pd.read_sql('SELECT * FROM processed_table', conn)

# 데이터베이스 연결을 닫습니다.
conn.close()

print("\nFinal DataFrame from database:")
print(final_df)

+ Recent posts