日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python】用 Python 帮财务小妹生成 Excel 报表,小妹直说一辈子。。。

發布時間:2025/3/12 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python】用 Python 帮财务小妹生成 Excel 报表,小妹直说一辈子。。。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

財務小妹

蘿卜哥,求助!

人有三急,回見~

蘿卜

財務小妹

別啊,不能去!

這,到底啥事啊

蘿卜

財務小妹

有一個超級繁瑣的事情,不過感覺你和Python能幫我

那你學Python吧,畢竟我也不能幫你一輩子

蘿卜

財務小妹

不一定哦,先幫我把這次搞定,也許能一輩子呢

當真?我來看看

蘿卜

財務小妹的需求

有一個Excel數據,需要根據一定規則重新組合數據,并把不同的數據發給不同的人

原始數據:

目的數據:

每一個tab頁的數據,直接發給對應的人即可!

對于上面的數據格式轉化,我們可以很自然的想到使用透視表,pivot table

然后為了達到更好的效果,我們還使用了 Pandas 當中的?DataFrame.xs?函數

先來進行透視表轉換

df = pd.read_excel("sales-funnel.xlsx") table = pd.pivot_table(df,index=["Manager","Rep","Product"],values=["Price","Quantity"],aggfunc=[np.sum,np.mean],fill_value=0)table

接下來應用 xs

table.xs('Debra Henley', level=0)

可以看到很輕松的就拿到了?Debra Henley 對應的數據

我們還可以繼續向下鉆取數據

table.xs(('Debra Henley','Craig Booker'), level=0)

接下來我們還需要用到?get_level_values?函數

table.index.get_level_values(0) table.index.get_level_values(1) table.index.get_level_values(0).unique()

Output:

Index(['Debra Henley', 'Debra Henley', 'Debra Henley', 'Debra Henley','Debra Henley', 'Debra Henley', 'Debra Henley', 'Fred Anderson','Fred Anderson', 'Fred Anderson', 'Fred Anderson', 'Fred Anderson','Fred Anderson'],dtype='object',?name='Manager')Index(['Craig Booker', 'Craig Booker', 'Craig Booker', 'Daniel Hilton','Daniel Hilton', 'John Smith', 'John Smith', 'Cedric Moss','Cedric Moss', 'Cedric Moss', 'Wendy Yule', 'Wendy Yule', 'Wendy Yule'],dtype='object', name='Rep')Index(['Debra Henley', 'Fred Anderson'], dtype='object', name='Manager')

下面我們就可以寫一個循環,依次獲取到 manager 所需要的數據

for manager in table.index.get_level_values(0).unique():print(table.xs(manager, level=0))

最后把數據保存到新的 Excel 當中

writer = pd.ExcelWriter('output.xlsx')for manager in table.index.get_level_values(0).unique():temp_df = table.xs(manager, level=0)temp_df.to_excel(writer,manager)writer.save()

由于上述操作都是在 Jupyter?Notebook 當中進行的,下面我們把相關代碼封裝下,通過命令行來執行

if __name__ == "__main__":parser = argparse.ArgumentParser(description='Script to generate sales report')parser.add_argument('infile', type=argparse.FileType('r'),help="report source file in Excel")parser.add_argument('outfile', type=argparse.FileType('w'),help="output file in Excel")args = parser.parse_args()# We need to pass the full file name instead of the file objectsales_report = create_pivot(args.infile.name)save_report(sales_report, args.outfile.name)

至此,上述需求全部完成!

財務小妹

哇,好棒哦~

嘿嘿,一般一般

蘿卜

財務小妹

嗯嗯,那我先下班嘍

好呀,話說咱們什么時候說說一輩子的事情

蘿卜

財務小妹

沒問題啊,咱們要做一輩子的同事

。。。

蘿卜

好了,今天就到這里了,為了幫忙撫平蘿卜哥受傷的小心靈,點個再走吧

往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載黃海廣老師《機器學習課程》視頻課黃海廣老師《機器學習課程》711頁完整版課件

本站qq群955171419,加入微信群請掃碼:

總結

以上是生活随笔為你收集整理的【Python】用 Python 帮财务小妹生成 Excel 报表,小妹直说一辈子。。。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。