파이썬을 처음 설치할 때 가장 깔끔하고 나중에 '패키지 꼬임'으로 고생하지 않는 표준 설치법을 정리해 드립니다.
복잡한 옵션 다 버리고, 딱 이대로만 체크해서 진행하세요.
1. 파이썬 설치 (Python 3.14.3 기준)
- 공식 사이트 접속: python.org/downloads에 접속합니다.
- https://www.python.org/ftp/python/3.14.3/python-3.14.3-amd64.exe
- 설치 파일 실행: 가장 최신 안정화 버전(Stable Release)의 Windows installer (64-bit)를 다운로드 후 실행합니다.
- ⭐⭐ [매우 중요] 설치 창 하단 체크박스:
- Add python.exe to PATH 항목에 무조건 체크하세요.
- 이걸 안 하면 나중에 검은 창(CMD)에서 파이썬을 못 찾아서 고생합니다.
- Install Now 클릭하여 설치 완료.
2. 코드 편집기 설치 (VS Code)
파이썬만 깔면 메모장에 코딩하는 격입니다. 전 세계 개발자 90%가 쓰는 **Visual Studio Code(VS Code)**를 설치해야 합니다.
- code.visualstudio.com에서 Windows용 설치.
- 설치 후 VS Code를 실행합니다.
- 파이썬 확장팩 설치:
- 왼쪽 사이드바의 블록 모양 아이콘(Extensions) 클릭.
- Python 검색 후 Microsoft에서 만든 공식 확장팩 [Install] 클릭.
3. 운용 업무용 필수 도구 설치 (Pandas, SQLAlchemy)
파이썬 설치가 끝나면, 엑셀을 다루고 DB에 연결할 '라이브러리'를 깔아야 합니다.
- Win + R 키를 누르고 cmd라고 입력해 검은 창(명령 프롬프트)을 엽니다.
- 아래 명령어를 한 줄씩 복사해서 붙여넣고 엔터를 치세요.
# 엑셀 데이터 분석용 (Pandas)
pip install pandas openpyxl
# 데이터베이스 연결용 (SQLAlchemy & PostgreSQL 드라이버)
pip install sqlalchemy psycopg2-binary
# 금융 데이터 시각화용 (Matplotlib)
pip install matplotlib
4. 첫 번째 파이썬 파일 실행해보기 (Hello World)
이제 모든 준비가 끝났습니다. 잘 설치됐는지 확인해 볼까요?
- VS Code에서 Ctrl + N (새 파일) -> Ctrl + S (저장).
- 파일 이름을 test.py로 저장 (확장자가 .py여야 합니다).
- 아래 코드를 적고 저장하세요.
-
Python
import pandas as pd print("파이썬 설치 성공! 이제 엑셀 박사가 될 준비가 되었습니다.") - 오른쪽 상단의 [▷ (Run Python File)] 버튼을 누릅니다.
- 하단 터미널 창에 문구가 뜨면 완벽하게 성공입니다!
-----------------------------------------------------------------------------------
준비 단계 (라이브러리 설치 DB)
먼저 터미널(cmd)에서 MariaDB 연결에 필요한 도구를 설치합니다.
pip install pymysql sqlalchemy
실무를 고려하여 정밀한 소수점 계산을 위한 DECIMAL 타입과 데이터가 언제 들어왔는지 확인하기 위한 타임스탬프를 포함했습니다.
1. MariaDB용 테이블 생성 스크립트 (DDL)
이 쿼리를 MariaDB 관리 도구(HeidiSQL, DBeaver 등)의 쿼리창에 복사해서 실행하세요.
CREATE TABLE daily_nav (
seq INT AUTO_INCREMENT PRIMARY KEY, -- 고유 번호 (자동 증가)
base_date DATE NOT NULL, -- 기준일자
fund_code VARCHAR(20) NOT NULL, -- 펀드코드
fund_name VARCHAR(100), -- 펀드명
current_nav_price DECIMAL(18, 4), -- 현재기준가
prev_nav_price DECIMAL(18, 4), -- 전일기준가
setup_amount_100m DECIMAL(18, 4), -- 설정원본 (억 단위)
daily_return_rate DECIMAL(10, 2), -- 당일수익률 (%)
manager_name VARCHAR(50), -- 운용역
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 데이터 입력 시간
-- 동일한 날짜에 동일한 펀드 데이터가 중복 들어가지 않도록 설정
UNIQUE KEY unique_fund_daily (base_date, fund_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
2. 주요 컬럼 설명
- DECIMAL(18, 4): 기준가는 소수점이 매우 중요합니다. FLOAT나 DOUBLE은 계산 시 미세한 오차가 생길 수 있어, 금융권에서는 정확한 숫자를 저장하는 DECIMAL을 필수로 사용합니다. (18자리에 소수점 4자리까지 저장한다는 뜻입니다.)
- setup_amount_100m: 아까 요청하신 대로 억 단위 숫자를 그대로 넣을 수 있는 컬럼입니다.
- UNIQUE KEY: 실수로 같은 날짜의 데이터를 두 번 넣으려고 할 때 DB가 "이미 데이터가 있습니다!"라고 막아주는 안전장치입니다.
- created_at: 나중에 "이 데이터가 언제 적재된 거지?"를 확인할 때 매우 유용합니다. (금융당국 감사 대비용)
엑셀의 컬럼명이 무엇이든 상관없이 **순서(위치)**로 가져오도록 코드를 수정하면 이런 오류를 방지할 수 있습니다. 엑셀의 1번째 열, 2번째 열... 이런 식으로 가져오는 방식입니다.
import pandas as pd
from sqlalchemy import create_engine
from datetime import datetime
# DB 연결 설정 (동일)
engine = create_engine(f"mysql+pymysql://root:your_password@localhost:3306/fund_management")
# 1. 엑셀 불러오기
file_path = r'D:\유틸\Python\fund_data_sample.xlsx'
df = pd.read_excel(file_path)
# 2. 당일수익률 계산 (엑셀에 없을 경우를 대비해 파이썬에서 직접 계산)
# 엑셀의 3번째(현재), 4번째(전일) 열을 이용해 계산 (0부터 시작하므로 index 2, 3)
current_val = df.iloc[:, 2] # 현재기준가 열
prev_val = df.iloc[:, 3] # 전일기준가 열
df['당일수익률'] = ((current_val - prev_val) / prev_val * 100).round(2)
# 3. 데이터 매핑 (이름 대신 '열 순서'로 가져오기)
# iloc[:, [0,1,2,3,4,5]] 는 1~6번째 열을 순서대로 다 가져오라는 뜻입니다.
df_db = pd.DataFrame()
df_db['base_date'] = [datetime.now().strftime('%Y-%m-%d')] * len(df)
df_db['fund_code'] = df.iloc[:, 0] # 1번째 열 (펀드코드)
df_db['fund_name'] = df.iloc[:, 1] # 2번째 열 (펀드명)
df_db['current_nav_price'] = df.iloc[:, 2] # 3번째 열 (현재기준가)
df_db['prev_nav_price'] = df.iloc[:, 3] # 4번째 열 (전일기준가)
df_db['setup_amount_100m'] = df.iloc[:, 4] # 5번째 열 (설정원본)
df_db['manager_name'] = df.iloc[:, 5] # 6번째 열 (운용역)
df_db['daily_return_rate'] = df['당일수익률'] # 위에서 계산한 값
# 4. DB 적재
try:
df_db.to_sql('daily_nav', con=engine, if_exists='append', index=False)
print("✅ MariaDB 적재 성공!")
except Exception as e:
print(f"❌ 적재 실패: {e}")
-----------------------------------------------------------------------------------
운용역 입장에서 **"엑셀을 자동화한다"**는 목적만 놓고 보면 VBA와 파이썬은 형제처럼 비슷해 보일 수 있습니다.
하지만 두 도구는 **'엑셀 안의 왕자'**와 **'세상 밖의 지휘자'**라는 결정적인 차이가 있습니다.
VBA vs Python 한눈에 비교
| 구분 | VBA (Visual Basic for Application) | Python (파이썬) |
| 활동 영역 | 엑셀 내부 중심 | PC 전체 및 웹/DB 중심 |
| 설치 | 별도 설치 없음 (엑셀에 내장) | 별도 설치 필요 |
| 데이터 크기 | 수만 건 이상은 속도가 급격히 저하 | 수백만 건도 눈 깜빡할 새 처리 |
| 확장성 | 다른 프로그램(웹, DB) 연동이 매우 어려움 | DB(PostgreSQL), 텔레그램, 웹 크롤링 등 무궁무진 |
| 학습 난이도 | 엑셀 매크로 기록기로 시작 가능 (쉬움) | 문법이 직관적이나 초기 설정 필요 |
'Programing' 카테고리의 다른 글
| [WEB]22년 6월 인터넷익스플로러(IE) 종료에 따른 (ie -> Edge전환) (0) | 2021.10.25 |
|---|---|
| [WEB]디바이스 체크 checkMobile (0) | 2021.10.22 |
| Eclipse plugin offline 설치(폐쇄망) (0) | 2017.07.26 |
| [Eclipse]글자크기변경 (0) | 2016.12.02 |
| [Jenkins]Email Extension Plugin 모니터링 (0) | 2016.11.25 |