利用Python實(shí)現(xiàn)自動(dòng)生成數(shù)據(jù)日?qǐng)?bào)
前言
人生苦短,快學(xué)Python!
日?qǐng)?bào),是大部分打工人繞不過(guò)的難題。
對(duì)于管理者來(lái)說(shuō),日?qǐng)?bào)是事前管理的最好抓手,可以了解團(tuán)隊(duì)的氛圍和狀態(tài)。可對(duì)于員工來(lái)說(shuō),那就有的聊了。對(duì)于重復(fù)性的工作,我非常推薦大家使用Python將其變成模塊化、自動(dòng)化,幫助我們實(shí)現(xiàn)高效辦公。
下面我們通過(guò)一個(gè)補(bǔ)寫(xiě)銷(xiāo)售日?qǐng)?bào)的案例,展示一下Python自動(dòng)化辦公的優(yōu)勢(shì)。本文簡(jiǎn)化了案例的流程。
需求詳解
朋友的需求是這樣的,他們平時(shí)的銷(xiāo)售數(shù)據(jù)是記錄在Excel上,匯總后會(huì)按照部門(mén)進(jìn)行統(tǒng)計(jì)。但是今年年初時(shí),領(lǐng)導(dǎo)突然要求寫(xiě)日?qǐng)?bào),大家寫(xiě)了一個(gè)月發(fā)現(xiàn)并不檢查就沒(méi)繼續(xù)寫(xiě)下去。
Excel日?qǐng)?bào)數(shù)據(jù)
現(xiàn)在突然被要求明天交本月之前的所有日?qǐng)?bào),這相當(dāng)于要補(bǔ)2-5月將近120天的日?qǐng)?bào),如果靠雙手復(fù)制粘貼,那估計(jì)要吐血了。朋友將其寫(xiě)日?qǐng)?bào)的相關(guān)文件都發(fā)了過(guò)來(lái),發(fā)現(xiàn)最終日?qǐng)?bào)效果如下所示。
所以需求也就是比較簡(jiǎn)單了,只需要從Excel表格中讀取每日的數(shù)據(jù),使用Python將其處理后,再依次寫(xiě)入Word文檔中,即可實(shí)現(xiàn)批量生成日?qǐng)?bào)。
數(shù)據(jù)處理
在進(jìn)行數(shù)據(jù)處理之前,要先了解最終需要哪些數(shù)據(jù)。如下圖所示,在目標(biāo)日?qǐng)?bào)Word中主要分為兩類(lèi):紅色標(biāo)記的數(shù)值主要是由當(dāng)日的數(shù)據(jù)、或者由它們計(jì)算后得到的數(shù)據(jù)構(gòu)成;綠色標(biāo)記的表格則更簡(jiǎn)單了,就是近七日的數(shù)據(jù)(銷(xiāo)售數(shù)量、銷(xiāo)售金額、銷(xiāo)售目標(biāo)、完成度)。
首先我們導(dǎo)入Pandas模塊進(jìn)行數(shù)據(jù)處理
import?pandas?as?pd df?=?pd.read_excel("日?qǐng)?bào)數(shù)據(jù).xlsx") df
輸出結(jié)果
導(dǎo)入數(shù)據(jù)后,接著就可以按照我們的需求,來(lái)進(jìn)行數(shù)據(jù)運(yùn)算了。數(shù)據(jù)運(yùn)算主要分為兩種,一種是利用加 +、減 -、乘 *、除 / 進(jìn)行數(shù)據(jù)運(yùn)算,另一種是利用統(tǒng)計(jì)方法進(jìn)行數(shù)據(jù)運(yùn)算。
在交互式環(huán)境中輸入如下命令:
df["日期"]?=?df["日期"].apply(lambda?x:x.strftime("%Y-%m-%d")) df["當(dāng)日完成度"]?=?(df["銷(xiāo)售金額"]/df["銷(xiāo)售目標(biāo)"]*100).round(1) df["累計(jì)銷(xiāo)售金額"]?=?df["銷(xiāo)售金額"].cumsum() df["當(dāng)年完成度"]?=?(df["累計(jì)銷(xiāo)售金額"]/2200000*100).round(1) df["累計(jì)銷(xiāo)售金額"]?=?(df["累計(jì)銷(xiāo)售金額"]/10000).round(2) df
輸出結(jié)果:
可以看到,最終結(jié)果截圖中紅色標(biāo)記的數(shù)據(jù)內(nèi)容已經(jīng)全部被計(jì)算出來(lái)。而綠色標(biāo)記的表格則更加簡(jiǎn)單了,使用Pandas模塊中的數(shù)據(jù)選取即可。
在交互式環(huán)境中輸入如下命令:
num?=?10 df.iloc[num-7:num,?:5]
輸出結(jié)果:
通過(guò)這種方法就可以輕松得到某一日期的過(guò)去7日內(nèi)的日?qǐng)?bào)數(shù)據(jù)合集。
到此這篇關(guān)于利用Python實(shí)現(xiàn)自動(dòng)生成數(shù)據(jù)日?qǐng)?bào)的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)日?qǐng)?bào)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在python里創(chuàng)建一個(gè)任務(wù)(Task)實(shí)例
這篇文章主要介紹了在python里創(chuàng)建一個(gè)任務(wù)(Task)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04Python在Console下顯示文本進(jìn)度條的方法
Python是一門(mén)與php有點(diǎn)像的編輯語(yǔ)言了,下文來(lái)給各位在利用Python實(shí)現(xiàn)進(jìn)度條了,對(duì)Python在Console下顯示文本進(jìn)度條的方法相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-02-02Python+Tkinter實(shí)現(xiàn)簡(jiǎn)單的畫(huà)圖軟件
這篇文章主要為大家詳細(xì)介紹了如何利用Python和Tkinter實(shí)現(xiàn)編寫(xiě)一個(gè)簡(jiǎn)單的畫(huà)圖軟件,可以實(shí)現(xiàn)畫(huà)圖、保存、撤銷(xiāo)等功能,感興趣的可以了解一下2023-04-04深入了解Python中yield?from語(yǔ)法的使用
yield?from?是在Python3.3才出現(xiàn)的語(yǔ)法,這篇文章主要為大家介紹了yield?from語(yǔ)法的具體使用,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以收藏一下2023-05-05python 列表,數(shù)組,矩陣兩兩轉(zhuǎn)換tolist()的實(shí)例
下面小編就為大家分享一篇python 列表,數(shù)組,矩陣兩兩轉(zhuǎn)換tolist()的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04python 爬取馬蜂窩景點(diǎn)翻頁(yè)文字評(píng)論的實(shí)現(xiàn)
這篇文章主要介紹了python 爬取馬蜂窩景點(diǎn)翻頁(yè)文字評(píng)論的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01python工具之清理 Markdown 中沒(méi)有引用的圖片
這篇文章主要介紹了python工具之清理 Markdown 中沒(méi)有引用的圖片,文章圍繞主題展開(kāi)詳細(xì)的的內(nèi)容介紹,需要的朋友可以參考一下2022-06-06