銀行やカードの取引明細から、pythonで家計簿を作る
ほぼ全ての支払いはクレジットカードか口座引き落としで行っているため、取引明細をcsvファイルで取得できます。取引明細から家計簿を作ります。
動作環境
windows10
pythonインストール済
仕様
フォルダ内の取引明細(.csv)の解析
取引明細のワードを解析してカテゴリ分け
家計簿(.csv)の作成または既存ファイルに行追加
解析済ファイルはoldフォルダに移動
取引明細の解析用パラメータとカテゴリ分けルールはyaml管理
使い方
pythonスクリプト、yamlファイル、取引明細を格納したフォルダを作成します。MakeBooks.pyを実行するとBooks.csvが作成されます。
└─ws
│ Books.yaml
│ MakeBooks.py
│
├─楽天カード
│ enavi202105(xxxx).csv
│ enavi202106(xxxx).csv
│ .....
│
└─楽天銀行
RB-torihikimeisai.csv
取引明細のフォーマットと取引明細のカテゴリ分けはyamlファイルで設定します。サンプルは楽天カードと楽天銀行ですが、他の取引明細フォーマットでも対応可能です。
入出力サンプル
楽天カード取引明細
利用日,利用店名・商品名,利用者,支払方法,利用金額,支払手数料,支払総額,5月支払金額,6月繰越残高,新規サイン
2021/04/01,セブンイレブン,本人,1回払い,1000,0,1000,1000,0,*
....
楽天銀行取引明細
取引日,入出金(円),取引後残高(円),入出金内容
20220402,-10000,90000,カンリヒトウ
....
作成される家計簿
,日付,口座,明細,補足,収支,残高,カテゴリ
0,2021-04-01,楽天カード,セブンイレブン ,本人,-1000,,食費雑費
1,2021-04-02,楽天銀行普通,カンリヒトウ,,-10000,90000,家賃
....
コードサンプル
import pandas as pd
import glob
import os
import yaml
import shutil
import datetime
from fileinput import filename
# ベースパス、oldパス、出力ファイルパスの登録
base_path = os.path.dirname(__file__)
old_path = os.path.join(base_path,"old")
os.makedirs(old_path, exist_ok=True)
bk_path = os.path.join(base_path,"Books.csv")
# yamlファイルのload
with open(os.path.join(base_path,"Books.yaml"), encoding='utf-8') as yfile:
....
ここから先は
3,754字
¥ 300
興味があること #育児 #料理 #ものづくり 楽しんで学んでいきたいです。 皆さんの【楽しんでいること】も是非、教えてください。