ももんが家計簿からZaimへ移行

家計簿管理を楽したくてスマホでレシートを読み取るクラウドサービスを試してみた。

MoneyForwardはぜんぜん読み取らなかった。
Zaimはかなり読む。フラッシュを焚いた方が認識率は上がる。

Zaimがいい感じなので、ももんが家計簿のデータをコンバートしてアップロードした。

CSV形式部分を抜き取ってZaimの読み込めるCSVフォーマットに変換したpythonスクリプトを以下に貼る。あくまで自分用。

# -*- coding: utf-8 -*-
import urllib2
import re
himoku = {
    u'e:食費': u'食費,食料品',
    u'e:日用品': u'日曜雑貨,消耗品',
    u'e:被服費': u'美容・衣服,洋服',
    u'e:交際費': u'交際費,プレゼント',
    u'e:交通費': u'クルマ,ガソリン',
    u'e:教育費': u'教育・教養,塾',
    u'e:通信費': u'通信,インターネット関連費',
    u'e:娯楽費': u'エンタメ,レジャー',
    u'e:医療費': u'医療・保険,病院代',
    u'e:光熱費': u'水道・光熱,電気料金',
    u'e:住居費': u'住まい,家具',
    u'e:保険料': u'クルマ,自動車保険',
    u'e:その他': u'その他,その他',
    u'e:税金': u'税金,その他',
 
}
def output_month(year,month,fp):
    auth_handler = urllib2.HTTPBasicAuthHandler()
    auth_handler.add_password(realm='KAKEIBO',
                              uri='http://hoge:8080/',
                              user='hoge',
                              passwd='hogehoge')
    opener = urllib2.build_opener(auth_handler)
    urllib2.install_opener(opener)
    page = urllib2.urlopen('http://hagenas2.home:8080/?plugin=csv&date='+year+month)
    u = unicode(page.read(),'euc_jp')
    pre = re.search('
(.*?)',u,re.DOTALL)
    for line in pre.group(1).splitlines():
        c = re.match(r'"(\d+)","(.*?)","(.*?)","(\d+)","(.*?)","(.*?)","(.*?)"',line)
        if c:
            try:
                fmt = u'{4}-{5}-{0:02d},payment,{1},-,-,,,{3},(プレミアム会員で表示),0,{2},(プレミアム会員で表示),(プレミアム会員で表示),(プレミアム会員で表示),(プレミアム会員で表示)\r'.format(int(c.group(1)),himoku[c.group(2)],c.group(4),c.group(6),year,month)
            except:
                print c.group(0).encode('cp932')
            fp.write(fmt.encode('cp932'))

for year in ['2008','2009','2010','2011','2012','2013','2014','2015']:
    fp = open('hoge_kakeibo'+year+'.csv','w')
    fp.write(u'日付,方法,カテゴリ,ジャンル,支払元,入金先,商品,メモ,場所,通貨,収入,支出,振替,残高調整,通貨変換前の金額,集計の設定\r'.encode('cp932'))
    for month in ['01','02','03','04','05','06','07','08','09','10','11','12']:
        output_month(year,month,fp)
    fp.close()
 
#output_month('2016','01',fp)

コメント

このブログの人気の投稿

ST-M310 シフトレバーのカバー開け

Ride with GPSで作成したルートのgpxファイルとOruxMapsの関係

UbuntuのpostfixでGmailにメールを転送する