小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

python教你如何越來越富有,呆瓜式制作小賬本

 昵稱2778474 2021-04-13

hi,我是曾子

不知道大家有沒有手動(dòng)記賬的習(xí)慣,我大概從大學(xué)開始就堅(jiān)持記賬,中途也換過幾個(gè)賬本APP。目前使用的是圈子賬本,它的記賬界面如下圖所示:

再說說我現(xiàn)在的情況,畢業(yè)之后支出越來越多越瑣碎,每月的賬單多到再手動(dòng)記賬有些過于浪費(fèi)時(shí)間了。

不過有幾點(diǎn)讓我注意到了,似乎可以實(shí)現(xiàn)自動(dòng)化記賬:

一是我目前支出首選信用卡(支付寶、微信也綁定信用卡),幾乎全部支出都在這里;

二是圈子賬本可以通過上傳模板文件來直接上傳賬單,現(xiàn)在也支持支付寶賬單了;

三是我的支出類別比較單一,主要就下面幾種:

折中方案

根據(jù)上面的幾點(diǎn),我搞了個(gè)折中的方案,并一直用到現(xiàn)在。

就是電腦登錄信用卡官網(wǎng),手動(dòng)復(fù)制或者下載賬單。

然后使用python調(diào)整成賬本官網(wǎng)支持的格式,導(dǎo)出成excel格式,直接上傳至官網(wǎng)。

下面給大家對(duì)比一下操作前和操作后的格式:

信用卡里的賬單:

官網(wǎng)規(guī)定格式:

操作實(shí)戰(zhàn)

先手動(dòng)復(fù)制賬單到excel里,先命名為測(cè)試數(shù)據(jù).xlsx。

然后我們開始使用python處理,導(dǎo)入數(shù)據(jù)

df = pd.read_excel('測(cè)試數(shù)據(jù).xlsx',header = None)
df.head(6)

每隔三行其實(shí)是一條數(shù)據(jù),所以我們要跳行提取數(shù)據(jù)

df2 = pd.DataFrame(columns=['日期','時(shí)間','入賬金額','交易說明'])

df2['日期'] = df.iloc[[ i+1 for i in range(0,len(df),3)],[0]].reset_index()[0]
df2['時(shí)間'] = df.iloc[[ i+2 for i in range(0,len(df),3)],[0]].reset_index(drop=True)
df2['入賬金額'] = df.iloc[[ i+1 for i in range(0,len(df),3)],[1]].reset_index(drop=True)
df2['交易說明'] = df.iloc[[ i+2 for i in range(0,len(df),3)],[1]].reset_index(drop=True)

創(chuàng)建了一個(gè)df2,并從df中隔行提取數(shù)據(jù),結(jié)果如下

調(diào)整格式

下一步調(diào)整格式,先參考目標(biāo)格式要求:

df2['時(shí)間'] = df2['日期'].apply(lambda x : str(x).replace('00:00:00','')) + df2['時(shí)間'].apply(lambda x : str(x)[:-3])
df2['入賬金額'] = df2['入賬金額'].str.lstrip('入賬金額:¥')
df2['交易說明'] = df2['交易說明'].str.lstrip('交易說明:財(cái)付通公司-')
df2 = df2.drop(columns = '日期')

這樣我們就調(diào)整好了時(shí)間、入賬金額(金額)、交易說明(備注),還剩下一個(gè)關(guān)鍵的值就是類別,其實(shí)我自己的消費(fèi)類別沒幾個(gè),可以簡(jiǎn)單的利用交易說明判斷類別,無法分辨的類別歸為其他。

def fenlei(comment):
    if '美團(tuán)' in comment or '拉扎斯'in comment:
        data = '餐飲'    elif '花小豬'in comment or '滴滴'in comment:
        data = '交通'    elif '燃?xì)?in comment or '電費(fèi)'in comment:
        data = '水電燃?xì)?    elif '拼多多'in comment:
        data = '生活用品'    else:
        data = '其他'    return data

利用上面的函數(shù),就可以統(tǒng)計(jì)出類別這一列的值。

其中拉扎斯指的是餓了么,大家查一下自己賬單就知道了。至于其他的種類,大家根據(jù)自己實(shí)際情況改改就可。

另外再添加另外兩個(gè)固定列,就齊了。

df2['分類'] = df2.apply(lambda x :fenlei(x['交易說明']), axis=1)
df2 = df2[df2['入賬金額'].astype(float) > 0]
df2['類型'] = '支出'df2['賬戶'] = '交通銀行'df2.head()

這里面我還篩選了只大于0的入賬金額,這是為了排除還款記錄。

注:還款記錄在信用卡賬單里是負(fù)值

最后結(jié)果如下圖所示:

導(dǎo)出數(shù)據(jù)

由于這次導(dǎo)出數(shù)據(jù)要固定格式,所以使用了openpyxl來向官網(wǎng)模板中直接寫入,這樣導(dǎo)入比較規(guī)范。

workbook = load_workbook(filename='朱小五.xlsx')
sheet = workbook.active
df2 = df2.iloc[:,[4,0,3,1,5,2]]# 先刪除第4行之后的舊數(shù)據(jù),預(yù)計(jì)1000行完全夠用sheet.delete_rows(idx=2, amount=1000)# 然后在進(jìn)行添加數(shù)據(jù)for row in df2.values.tolist():
    sheet.append(row)
    print(row)
print('已經(jīng)保存到文件中')
workbook.save(filename='朱小五.xlsx')
workbook.close()

打開朱小五.xlsx,查看結(jié)果

沒什么問題,將Excel導(dǎo)入賬本官網(wǎng)中

完美導(dǎo)入

再打開手機(jī)記賬APP

發(fā)現(xiàn)賬單已經(jīng)安安靜靜地躺在賬本里啦!

以上就是小五平時(shí)利用Python自動(dòng)化處理自己賬本的全部?jī)?nèi)容了。

如果喜歡我的文章,記得點(diǎn)贊支持哦~

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多