利用Python實現報表自動化

2021-09-26 23:32:35 字數 1501 閱讀 1715

# 匯入源資料

import pandas as pd

from datetime import datetime

data = pd.read_csv(r'/users/faye/desktop/order-14.1.csv',parse_dates = ['成交時間']) # parse_dates將資料解析為時間格式

data.head() # 預覽前五行資料

# 利用函式提高編碼效率

def get_month_data(data):

sale = (data['單價'] * data['銷量']).sum()

traffic = data['訂單id'].drop_duplicates().count()

s_t = sale / traffic

return (sale,traffic,s_t)

this_month = data[(data['成交時間'] >= datetime(2018,2,1)) & (data['成交時間'] <= datetime(2018,2,28))]

last_month = data[(data['成交時間'] >= datetime(2018,1,1)) & (data['成交時間'] <= datetime(2018,1,31))]

same_month = data[(data['成交時間'] >= datetime(2017,2,1)) & (data['成交時間'] <= datetime(2017,2,28))]

# 計算本月指標

sale_1 ,traffic_1,s_t_1 = get_month_data(this_month)

# 計算上月指標

sale_2 ,traffic_2,s_t_2 = get_month_data(last_month)

# 計算去年同期指標

sale_3 ,traffic_3,s_t_3 = get_month_data(same_month)

report = pd.dataframe([[sale_1,sale_2,sale_3],[traffic_1,traffic_2,traffic_3],[s_t_1,s_t_2,s_t_3]],

columns = ['本月累計','上月同期','去年同期'],

index = ['銷售額','客流量','客單價'])

# 增加同比和環比字段

report['環比'] = report['本月累計'] / report['上月同期'] -1

report['同比'] = report['本月累計'] / report['去年同期'] -1

report

# 將結果檔案匯出到本地

利用Runtime實現自動化歸檔

對於物件的歸檔,之前使用mj老師的mjextension框架做字典轉模型的時候,直接使用巨集mjcodingimplementation就能實現物件自動實現存檔和解檔的方法,很是好用。但是有時候會遇到不需要用到字典轉模型,不想使用框架時,就需要自己手動乙個乙個實現,有時候屬性一多了,簡單卻繁瑣的相同...

python實現自動化列印

這次真的是出於實際需要,想要用python寫個小指令碼 老闆發給我乙份包含幾百個人資訊的pdf檔案,如果乙份乙份開啟檔案,點列印我感覺要看到眼花。發現呼叫電腦程式需要用到win32這個庫,而且初略的看了下就發現此庫非常nb,怎麼說,這個庫可以同計算機進行互動,比如彈出提示框,或者呼叫系統內建一些程式...

Python實現網頁自動化朗讀

是不是有的時候懶得自己看新聞?那麼不妨試試用 python 來朗讀給你聽吧。網頁轉換成語音,步驟無外乎 網頁正文識別,獲取到正文的文字內容 文字轉語音,通過介面將文字轉換成語音檔案 語音檔案的發聲,即將語音檔案讀出 01 網頁正文識別 之所以用 python,就是因為 python 有著豐富的庫,網...