42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
import pandas as pd
|
|
import sqlite3
|
|
|
|
class DataLoader:
|
|
def __init__(self, db_path='datas.db'):
|
|
self.db_path = db_path
|
|
|
|
def load_data_from_excel(self, excel_path):
|
|
# 엑셀 파일 읽기
|
|
df = pd.read_excel(excel_path)
|
|
|
|
# 데이터베이스 연결
|
|
conn = sqlite3.connect(self.db_path)
|
|
cursor = conn.cursor()
|
|
|
|
# 테이블 생성
|
|
cursor.execute('''
|
|
CREATE TABLE IF NOT EXISTS CircuitBreakers (
|
|
id INTEGER PRIMARY KEY,
|
|
symbol TEXT,
|
|
english_name TEXT,
|
|
korean_name TEXT,
|
|
function_description TEXT,
|
|
position TEXT
|
|
)
|
|
''')
|
|
|
|
# 데이터 삽입
|
|
for _, row in df.iterrows():
|
|
cursor.execute('''
|
|
INSERT INTO CircuitBreakers (id, symbol, english_name, korean_name, function_description, position)
|
|
VALUES (?, ?, ?, ?, ?, ?)
|
|
''', (row['순서'], row['기호'], row['원어'], row['명칭'], row['기능설명'], row['위치'], row['도입년월'], row['도입명칭'], row['제작사']))
|
|
|
|
# 데이터베이스 저장 및 닫기
|
|
conn.commit()
|
|
conn.close()
|
|
|
|
# # 예제 사용
|
|
# loader = DataLoader()
|
|
# loader.load_data_from_excel('path_to_excel_file.xlsx')
|