본문 바로가기

Python86

[Python] 파일 자동 정리 프로그램 만들기 안녕하세요! 오늘은 Python을 사용해 특정 폴더의 파일을 확장자별로 자동 정리하는 프로그램을 만들어 보겠습니다. 이 프로그램은 폴더 안의 파일들을 확장자별로 분류하고, 각 파일을 해당 확장자 폴더로 이동시켜 정리해 줍니다. 1. 파일 자동 정리 프로그램우리가 작성할 프로그램은 다음과 같은 작업을 합니다:사용자가 지정한 폴더를 확인합니다.폴더 안에 있는 파일들의 확장자를 확인합니다.각 확장자에 해당하는 이름의 폴더를 생성합니다.파일을 해당 폴더로 이동시킵니다.예를 들어, 아래와 같은 폴더가 있다고 가정해 봅시다.정리 전:my_folder/ file1.txt file2.jpg file3.pdf file4.txt 프로그램을 실행하면 이렇게 정리됩니다.정리 후:my_folder/ .. 2025. 2. 21.
[Python] smtplib로 이메일 발송하기 안녕하세요.이번 글에서는 Python의 smtplib 라이브러리를 사용해 이메일을 보내는 방법을 배워보겠습니다. 1. SMTP 서버란?이메일을 보내는 과정은 단순히 "내가 작성한 이메일이 바로 상대방에게 전달된다"라고 생각하기 쉽지만, 실제로는 여러 단계를 거쳐야 합니다. 이 과정에서 중요한 역할을 하는 것이 바로 SMTP 서버입니다. SMTP(Simple Mail Transfer Protocol)는 이메일을 전송하기 위한 표준 프로토콜입니다. 즉, 이메일을 작성하고, 전송하고, 수신자의 메일 서버로 전달하는 과정을 처리하는 규칙입니다. 이 프로토콜을 구현한 서버가 바로 SMTP 서버입니다. SMTP 서버는 이메일 전송 과정에서 다음과 같은 역할을 합니다.발신자 인증: 이메일을 보낼 때, 발신자가 유효한.. 2025. 2. 18.
[Python] 간단한 메모장 프로그램 만들기 Python은 파일을 읽고 쓰는 작업을 매우 간단하게 처리할 수 있습니다.이번 글에서는 파일 처리의 기본 개념을 배우고, 이를 활용해 간단한 메모장 프로그램을 만들어 보겠습니다. 1. Python의 파일 처리 기본 개념Python에서 파일을 다룰 때는 open() 함수를 사용합니다. 파일을 열 때는 모드를 지정해야 하며, 모드에 따라 파일을 읽거나 쓰는 방식이 달라집니다.파일 모드 설명r (read): 읽기 전용 모드. 파일이 존재하지 않으면 오류가 발생합니다.w (write): 쓰기 전용 모드. 파일이 존재하면 내용을 덮어쓰고, 없으면 새로 만듭니다.a (append): 추가 모드. 파일이 존재하면 끝에 내용을 추가하고, 없으면 새로 만듭니다.2. with 구문Python에서는 파일을 다룰 때 with.. 2025. 2. 11.
[Python] 판다스 (Pandas) 라이브러리 사용하여 데이터의 합계, 최대값, 평균, 비율 계산하기 안녕하세요 오늘은 파이썬에서 제공하는 데이터 분석 라이브러리인 판다스(Pandas) 를 사용하여 합계, 최대값, 평균, 비율을 계산해보겠습니다.    위 예시 데이터를 활용할 예정입니다. 총 판매량과 평균 판매량, 최대 판매량과 지역별 판매 비율을 확인해보겠습니다  import pandas as pd# CSV 파일 불러오기df = pd.read_csv('complex_sales_data.csv')# 날짜를 datetime 형식으로 변환df['날짜'] = pd.to_datetime(df['날짜'])# 월별로 데이터 그룹화monthly_grouped = df.groupby(df['날짜'].dt.to_period('M')).agg( 총판매량=('판매량', 'sum'), 평균판매량=('판매량', 'm.. 2024. 11. 1.
[Python] 사이킷런(scikit-learn) 라이브러리를 활용하여 정규화 하기 Min-Max Scaling 사이킷런(scikit-learn) 이란 파이썬에서 제공하는 머신러닝 분석 라이브러리입니다 사이킷런에서는 머신러닝에 필요한 다양한 도구들을 모듈로 구분하여 제공합니다 오늘은 전처리 (preprocessiong) 모듈에서 제공하는 Min-Max Scaling 메소드를 사용해정규화를 진행해보도록 하겠습니다 정규화란 서로 다른 변수의 값 범위를 일정한 수준으로 맞추는 작업으로 모든 값을 0과 1 사이로 조정하여 다양한 변수들간의 비교가 용이하도록 합니다  활용하고자 하는 데이터셋에서 변수들이 서로 다른 단위나 값 범위를 가질경우, 특히 한 변수의 값이 다른 변수들보다 훨씬 클때 정규화가 필요합니다. 예를 들어, 거리(m), 시간(시,분,초), 온도(°C) 등, 여러 단위의 변수를 한꺼번에 사용할때 단위 차이가 .. 2024. 10. 26.
[Python] 판다스 (Pandas) 라이브러리 사용해서 csv 데이터 특정 칼럼에 문자열 추가하기 오늘은 자바스크립트를 이용해 csv 파일의 대량 데이터를 일괄적으로 편집하는 기능을사용해보려고합니다 Pandas 는 파이썬에서 제공하는 분석 라이브러리로, 데이터 분석에 있어서 다양한 기능을 제공합니다    먼저 오늘 사용할 데이터는 전국 치안센터의 위치 데이터입니다. 자료 확장자명은 csv 이고 데이터는 공공데이터 포털에서 다운 받으실 수 있습니다. https://www.data.go.kr/data/15076962/fileData.do (시도청, 경찰서, 관서명, 지역파출소, 치안센터명, 주소)" data-og-host="www.data.go.kr" data-og-source-url="https://www.data.go.kr/data/15076962/fileData.do" data-og-url="htt.. 2024. 10. 20.
[Python] 카카오 API 사용해서 도로명 주소를 위도, 경도 좌표로 반환하기 (Geocoding) 안녕하세요 오늘은 도로명 주소를 위도, 경도 좌표로 변환해보도록 하겠습니다 고유 명칭(주소나 산, 호수의 이름 등) 을 가지고 위도와 경도의 좌표값을 얻는 것을 지오코딩(Geocoding) 이라고 합니다.  카카오, 구글 에서는 지오코딩 가능한 api 를 제공합니다. 하나의 주소에 대해서만 위도, 경도가 필요한 것이라면, 구글 검색으로도 충분합니다. 본 게시글에서는 카카오 지오코딩을 사용하여서 csv 파일에 저장된 대량의 도로명 주소들에 대한위도, 경도 좌표를 한번에 가져오도록 하겠습니다.   1. 카카오 키 발급하기먼저 카카오 개발자 홈페이지 (Kakao Developers) 에 들어갑니다. '내 애플리케이션 -> 애플리케이션 추가'  버튼을 눌러줍니다.  지오코딩이라는 이름으로 새로운 프로젝트를 생성.. 2024. 10. 14.
[Python] random 모듈의 다양한 기능 안녕하세요오늘은 파이썬에서 ramdom 모듈의 다양한 기능과 사용 예제에 대해서 알아보겠습니다. 예제는 파이참에서 진행했습니다.  우선 전체 코드입니다.from random import *# 기본 예제print("1. 기본 랜덤 함수")print(random()) # 0.0 ~ 1.0 미만 임의의 값 생성print(random() * 10) # 0.0 ~ 10.0 미만 임의의 값 생성print(random() + 1) # 1.0 ~ 2.0 미만 임의의 값 생성print(int(random() * 10)) # 0 ~ 10 미만 임의의 값 생성print(randrange(1, 46)) # 1 ~ 45 임의의 값 생성# 추가 함수들print("\n2. 추가 랜덤 함수")print(randint(1, .. 2024. 8. 25.
[Python] 다양한 문자열 연결(포매팅) 방법 안녕하세요. 오늘은 파이썬의 문자열 연결(포매팅)의 다양한 방법에 대해서 알아보겠습니다. beverage = "아메리카노"price = 1900print("우리 동네 카페의 " + beverage + " 가격은 " + str(price) + "원 입니다.") # 1. (+) 사용print("우리 동네 카페의", beverage, "가격은", price, "원 입니다.") # 2. 콤마(,) 사용print(f"우리 동네 카페의 {beverage} 가격은 {price}원 입니다.") # 3. f-string 사용print("우리 동네 카페의 {0} 가격은 {1}원 입니다.".format(beverage, price)) # 4. format() 메서드 사용print("우리 동네 카페의 %s 가격은 %d.. 2024. 8. 19.