Python 10

📡 Python으로 MSSQL 저장 프로시저 실행하기 (파라미터 전달까지 완벽 정리!)

Python을 사용해서 MSSQL에 저장된 프로시저(Stored Procedure) 를 호출하고,파라미터를 안전하게 전달하는 방법을 실습 중심으로 알아보겠습니다.이 포스트 하나로, 기초부터 실전 예제까지 완벽히 정리해드릴게요! ✅✅ 저장 프로시저란?저장 프로시저(Stored Procedure) 는 미리 정의된 SQL 쿼리 블록을 데이터베이스에 저장해놓고,필요할 때마다 호출해서 실행할 수 있는 일종의 “미리 짜둔 함수”입니다.예시:EXEC GetUserByAge @MinAge = 30우리는 이걸 Python 코드로 자동화하는 것이 목표입니다.🛠 1. Python에서 MSSQL 연결하기📦 설치해야 할 라이브러리pip install pyodbcpyodbc는 Python에서 ODBC 드라이버를 통해 SQL ..

Programming 2025.03.28

📬 Python으로 텔레그램에 알림 보내는 방법 (봇 API 활용)

자동화 모니터링, 에러 감지, 백업 완료 알림까지! Python으로 텔레그램 봇을 활용해 실시간 메시지를 전송해보세요. 🧱 1. 텔레그램 봇 만들기📌 1-1. @BotFather 실행텔레그램 앱을 열고 검색창에 @BotFather 입력 → 채팅 시작/start/newbot봇 이름 입력 (ex: My Alert Bot)봇 사용자명 입력 (반드시 bot으로 끝나야 함. ex: my_alert_bot)성공 시 아래와 같은 메시지와 함께 토큰(token)을 제공합니다.Use this token to access the HTTP API:123456789:ABCdefGHIjklMNOpqrSTUvwxYZ✅ 이 토큰은 절대 외부에 유출되지 않도록 주의하세요!🔍 2. Chat ID 확인하기텔레그램 메시지를 보내려..

Programming 2025.03.27

🔎 Python에서 조건별로 MSSQL 쿼리 동적 생성하기 (f-string과 SQL Injection 방지법)

Python으로 MSSQL에 접속할 때, 사용자의 선택이나 조건에 따라 동적으로 SQL 쿼리를 생성해야 하는 상황이 많습니다.하지만 잘못된 방식으로 쿼리를 구성하면 보안에 치명적인 SQL Injection 문제가 발생할 수 있죠. 이번 포스팅에서는 아래 내용을 쉽게 정리해보겠습니다.f-string을 이용한 동적 쿼리 생성법SQL Injection 방지법 (✅ params 사용)실전 예제와 비교📌 1. 기본 구조: MSSQL 접속과 쿼리 실행import pyodbcconn = pyodbc.connect( 'DRIVER={ODBC Driver 17 for SQL Server};SERVER=서버주소;DATABASE=DB명;UID=아이디;PWD=비번')cursor = conn.cursor()💥 2. ..

Programming 2025.03.26

📦Python 가상환경(venv) 사용법 + `requirements.txt` 완전정복

팀 프로젝트를 하거나 외부에 배포할 때, 파이썬 가상환경 설정과 패키지 관리는 필수입니다.이번 포스팅에서는 venv로 가상환경을 만들고, requirements.txt로 패키지를 관리하는 법을 기초부터 실전 예제까지 정리해보겠습니다. ✅🎯 1. 가상환경이란? 왜 필요한가요?파이썬은 전역(Global) 환경에 패키지를 설치하면 모든 프로젝트에서 섞여서 충돌할 수 있습니다.📌 가상환경은 프로젝트마다 독립된 패키지 공간을 만들어주는 "격리된 공간"입니다.예를 들어,프로젝트 A는 pandas==1.3프로젝트 B는 pandas==2.2을 쓸 때 서로 영향을 주지 않도록 해주는 게 바로 venv입니다!🛠️ 2. 가상환경 만들기 (venv 사용)✅ 가상환경 생성python -m venv venvvenv라는 폴더..

Programming 2025.03.25

🗂 Python으로 CSV → MSSQL 대량 업로드 (속도 비교 포함)

CSV 데이터를 MSSQL로 업로드할 때, 단순 반복문을 사용하면 속도가 느려서 답답한 경우가 많습니다. 이번 포스팅에서는 pandas, SQLAlchemy, fast_executemany, BULK INSERT 등 다양한 방법으로 CSV → MSSQL 대량 업로드하는 방법을 정리하고, 속도 비교도 함께 해보겠습니다. 🐍📊🛢️✅ 사용 환경Python 3.10pandaspyodbcSQLAlchemyMSSQL Server 2019📂 예제 CSV 파일 (data.csv)id,name,score1,Alice,952,Bob,883,Charlie,76...※ 실제 예제에서는 10만 건 이상의 데이터를 사용해 속도 테스트를 진행합니다.🔗 1. pandas + to_sql() 기본 사용법import panda..

Programming 2025.03.24

🗂 Python에서 리스트 ↔ 문자열 변환 방법 총정리 (join, split 완전 이해하기)

Python에서 리스트(list)와 문자열(str) 사이 변환은 정말 자주 쓰입니다.하지만 join()과 split()의 차이를 정확히 모르면, TypeError, 공백 문제, 디버깅에 많은 시간을 쓸 수 있어요. 😓이번 포스팅에서는 join()과 split()을 활용한 리스트 ↔ 문자열 변환 방법을 핵심 예제 중심으로 정리해봅니다. ✅🔁 1. 리스트 → 문자열: join() 사용✅ 기본 문법"구분자".join(리스트)예제 👇fruits = ["apple", "banana", "cherry"]result = ", ".join(fruits)print(result) # apple, banana, cherryjoin()은 문자열만 요소로 갖는 리스트에서만 사용 가능!", "는 리스트 요소 사이에 들어갈..

Programming 2025.03.23

🔁 Python으로 MSSQL 반복 쿼리 실행 및 자동화 방법

Python을 활용하면 MSSQL 쿼리 실행을 반복하거나 예약 실행(자동화)할 수 있습니다. 이 글에서는 pyodbc와 schedule 라이브러리를 사용하여 반복 쿼리 및 자동화 작업을 구현하는 방법을 정리해봅니다. ✅📌 1. Python에서 MSSQL 연결하기MSSQL과 연결하려면 pyodbc를 사용합니다.pip install pyodbcimport pyodbc# MSSQL 연결 설정conn = pyodbc.connect( 'DRIVER={ODBC Driver 17 for SQL Server};' 'SERVER=서버주소;' 'DATABASE=데이터베이스명;' 'UID=아이디;' 'PWD=비밀번호')cursor = conn.cursor()✅ ODBC 드라이버가 없다면 Micr..

Programming 2025.03.22

[Python] chatGPT 활용기(데이터프레임 replace)

데이터를 다루다 보면 칼럼 내 문자열 처리를 해야 하는 경우가 있습니다. 예를 들어 데이터베이스에 숫자 데이터를 insert할때 콤마(,)때문에 데이터가 문자열로 인식되어 오류를 뱉는 상황 등입니다. 이 경우 콤마를 빈값으로 수정해 주어야 숫자로 옳게 인식합니다. str과 replace 함수를 통해 아래와 같이 컬럼 하나씩 바꿀 수 있는데요, 여러 칼럼일 경우 칼럼마다 코드를 작성해야 한다는 번거로움이 있었습니다. df['frst_acqs_amount'] = df['frst_acqs_amount'].str.replace(',','') 그래서 7열부터 나머지열의 모든 컬럼을 한 번에 싶어 아래와 같이 코드를 작성했는데요, 데이터프레임에서는 작동되는 replace함수는 제가 의도한 replace와 달랐습니다..

Programming 2023.01.16

[Python] OpenAPI로 주식 영업일, 휴장일 구하기

이번 포스팅은 주식장의 영업일과 비영업일을 구분하는 방법에 대한 것입니다. 트레이딩캘린더를 데이터베이스로 만들어 놓으면 주식이나 etf의 과거 기간성과를 쉽게 뽑아낼 수 있다는 장점이 있습니다. 휴일정보는 공공데이터포털(https://www.data.go.kr/data/15012690/openapi.do)에서 openapi를 이용하여 뽑아낼 거구요 나머지 일자는 pandas와 datetime을 통해 생성해보겠습니다. 개발에 앞서 미리 위 사이트에서 apikey를 신청해놓으시기 바랍니다. 휴일정보를 데이터프레임으로 반환하기 import requests import datetime as dt from bs4 import BeautifulSoup import pandas as pd from datetime i..

Programming 2022.12.31

[Python] 데이터프레임 차집합 구하기

데이터프레임을 다루다보면 두 데이터프레임간의 차집합을 구해야 할 때가 있습니다. 예를 들어 데이터베이스 테이블에 존재하는 데이터와 웹에서 크롤링한 데이터간의 차집합을 구해서 비어있는 값을 insert하는 경우가 있겠습니다. 중복키 에러를 피하기 위해서 입니다. 리스트에서는 set이라는 함수가 있어서 차집합을 쉽게 구할 수 있는데, 데이터프레임에서 구현하기엔 쉽지 않더라구요. 데이터프레임의 merge기능을 이용하여 두 데이터 프레임 간 key값을 조인한 뒤, 한쪽에 있는 데이터만 가져와 주면 쉽게 차집합을 구할 수 있습니다. 예제와 함께 진행해보겠습니다. import numpy as np import pandas as pd import matplotlib.pyplot as plt columns =['dat..

Programming 2022.12.30