💸 나만의 파이썬 가계부 만들기 – 매일 쓰는 지출 기록기!
하루에 커피 한 잔, 배달 한 번… 쓰다 보면 어디에 얼마나 썼는지 감이 안 올 때 많죠?
그럴 때 간단한 파이썬 가계부 프로그램만 있으면 지출을 손쉽게 기록하고 확인할 수 있습니다.
매일 1~2줄 입력만으로도 소비 습관을 파악할 수 있다면, 그게 바로 데이터의 힘 아닐까요?
오늘은 아주 간단하지만 실용성 넘치는 파이썬 예제로, 여러분만의 지출 관리기를 만들어보겠습니다!
Step 1: 기본 입력 기능 – 항목과 금액 기록하기
파이썬의 input()
함수로 항목명과 금액을 입력받고,
입력값을 그대로 출력하는 가장 기본적인 구조입니다.
이 단계는 전체 구조의 시작점이 되는 부분으로, 이후 확장을 위한 기반이 됩니다.
특히 금액을 정수형(int)으로 변환하여 이후 계산에서도 사용할 수 있도록 처리하는 점이 중요합니다.
item = input("지출 항목을 입력하세요: ")
amount = int(input("금액을 입력하세요: "))
print(f"\\n지출 내역 → {item}: {amount}원")
Step 2: 파일로 저장하기 – ledger.csv 생성
이제 입력한 데이터를 단순히 출력만 하지 않고 CSV 파일로 저장해보겠습니다.
이를 통해 나중에 지출 기록을 불러오거나, 엑셀 등으로 분석할 수 있는 기반을 마련할 수 있죠.
datetime
모듈로 현재 시각을 추가하고, with open(..., "a")
를 사용하여 기록을 누적 저장할 수 있도록 구성합니다.
from datetime import datetime
item = input("지출 항목을 입력하세요: ")
amount = int(input("금액을 입력하세요: "))
date = datetime.now().strftime("%Y-%m-%d %H:%M")
with open("ledger.csv", "a", encoding="utf-8") as f:
f.write(f"{date},{item},{amount}\\n")
print("지출이 ledger.csv에 저장되었습니다!")
Step 3: 전체 지출 불러오기 + 합계 계산
이번 단계에서는 앞서 저장한 CSV 파일을 open("ledger.csv", "r")
로 열고
각 라인을 반복문으로 읽어오며 출력해보는 기능을 구현합니다.
또한 금액만 따로 합산하여 전체 지출이 얼마인지 요약하는 기능도 포함됩니다.
이처럼 입력 → 저장 → 불러오기 → 요약의 흐름은 실제 가계부 앱의 핵심 로직과 거의 동일하다고 볼 수 있어요.
total = 0
with open("ledger.csv", "r", encoding="utf-8") as f:
for line in f:
date, item, amount = line.strip().split(",")
print(f"[{date}] {item}: {amount}원")
total += int(amount)
print(f"\\n총 지출: {total}원")
📦 전체 통합 코드 보기
지금까지 작성한 코드들을 하나로 통합한 버전입니다.
지출 기록 → 파일 저장 → 전체 출력 + 총합 계산까지의 과정을 모두 한 번에 실행할 수 있습니다.
실행 후 ledger.csv 파일을 열어보면 내가 입력한 내역이 누적 저장되는 걸 확인할 수 있고,
반복해서 사용할 수 있는 개인용 파이썬 가계부로 완성됩니다.
from datetime import datetime
# Step 1: 사용자 입력
item = input("지출 항목을 입력하세요: ")
amount = int(input("금액을 입력하세요: "))
date = datetime.now().strftime("%Y-%m-%d %H:%M")
# Step 2: 파일로 저장
with open("ledger.csv", "a", encoding="utf-8") as f:
f.write(f"{date},{item},{amount}\\n")
print("\\n💾 저장 완료!")
# Step 3: 파일 불러와서 합계 출력
print("\\n📋 전체 지출 내역:")
total = 0
with open("ledger.csv", "r", encoding="utf-8") as f:
for line in f:
date, item, amount = line.strip().split(",")
print(f"[{date}] {item}: {amount}원")
total += int(amount)
print(f"\\n💰 총 지출: {total}원")
✅ 오늘 만든 기능 정리:
– 지출 항목 + 금액 입력
– ledger.csv 파일로 누적 저장
– 전체 내역 출력 + 합계 계산
– 확장 가능: 날짜별 통계, 항목별 분석 등
✨ 마무리하며
기록하는 습관이 절약의 첫 걸음이라는 말, 들어보셨죠?
복잡한 앱 없이, 내가 직접 만든 가계부로 지출을 관리하면 파이썬 실력도 쑥쑥 늘어납니다.
오늘부터 매일 1줄씩 기록하는 습관, 이 코드로 시작해보세요 😊
다음 편에서는 항목별 합계 분석이나 월별 지출 통계로 확장하는 방법도 다뤄볼 예정입니다.
블로그에 계속 놀러오셔서 함께 파이썬 라이프 해봐요!