其實我覺得蠻簡單,核心就是你組裝好日報的內容模板,然後將變化的量交給python去填充,需要用到的基本就是python處理excel、word和ppt等相關的庫。熟練的使用它們,你就可以自動化一條龍了。
日報,是大部分打工人繞不過的難題。
對管理者來說,日報是事前管理的最好抓手,可以了解團隊的氛圍與狀態。可對員工來說,那就有的聊了。對於重複性的工作,我非常推薦大家使用Python將其變成模組化、自動化,幫助我們實現高效辦公室。
下面我們透過一個補寫銷售日報的案例,展示一下Python自動化辦公室的優勢。本文簡化了案例的流程,在文末附有完整程式碼。
需求詳解
朋友的需求是這樣的,他們平常的銷售資料是記錄在Excel上,匯總後會依照部門進行統計。但今年年初時,領導突然要求寫日報,大家寫了一個月發現並不檢查就沒繼續寫下去。
現在突然被要求明天交本月之前的所有日報,這相當於要補2-5月將近120天的日報,如果靠雙手複製粘貼,那估計要吐血了。朋友將其寫日報的相關文件都寄了過來,發現最終日報效果如下圖所示。
所以需求也就是比較簡單了,只需要從Excel表格中讀取每日的數據,使用Python將其處理後,再依序寫入Word文件中,即可實現批量生成日報。
資料處理
在進行資料處理之前,要先了解最終需要哪些資料。如下圖所示,在目標日報Word中主要分為兩類:紅色標記的數值主要是由當日的數據、或者由它們計算後得到的數據構成;綠色標記的表格則更簡單了,就是近七日的數據(銷售數量、銷售金額、銷售目標、完成度)。
首先我們導入Pandas模組進行資料處理。
import pandas as pd df = pd.read_excel("日报数据.xlsx") df
輸出結果:
匯入資料後,接著就可以依照我們的需求,來進行資料運算了。資料運算主要分為兩種,一種是利用加 、減 -、乘 *、除 / 進行資料運算,另一種是利用統計方法進行資料運算。
在互動式環境中輸入以下指令:
df["日期"] = df["日期"].apply(lambda x:x.strftime("%Y-%m-%d")) df["当日完成度"] = (df["销售金额"]/df["销售目标"]*100).round(1) df["累计销售金额"] = df["销售金额"].cumsum() df["当年完成度"] = (df["累计销售金额"]/2200000*100).round(1) df["累计销售金额"] = (df["累计销售金额"]/10000).round(2) df
輸出結果:
#可以看到,最終結果截圖中紅色標記的數據內容已經全部被計算出來。而綠色標記的表格則更加簡單了,使用Pandas模組中的資料選取即可。
在互動式環境中輸入以下指令:
num = 10 df.iloc[num-7:num, :5]
輸出結果:
#透過這個方法就可以輕鬆得到某一日期的過去7日內的日報資料集。
自動產生日報
使用Python自動化操作Word通常會使用python-docx模組,而大量產生Word文件一般有兩種方法:使用add_ paragraph()、add_table()等方法在Word文件中新增各種內容。另一種是我們這次要用的,即按照位置替換原Word文件中的文字和表格資料等。
在互動式環境中輸入下列指令:
for index, rows in df.iterrows(): if index > 30: doc.paragraphs[0].runs[1].text = rows[0] doc.paragraphs[4].runs[4].text = rows[0] doc.paragraphs[4].runs[6].text = str(rows[1]) doc.paragraphs[4].runs[8].text = str(rows[2]) doc.paragraphs[5].runs[1].text = str(rows[3]) doc.paragraphs[5].runs[3].text = str(rows[4]) doc.paragraphs[9].runs[2].text = str(rows[5]) doc.paragraphs[9].runs[7].text = str(rows[6]) table = doc.tables[0] data_table = df.iloc[index-6:index+1,:5] for i in range(7): for j in range(5): table.cell(i+1,j).text = str(df.iloc[i,j]) doc.save(f"销售日报-{rows[0]}.docx")
執行程式碼,輸出結果:
如上圖所示,120份有記錄的銷售日報就寫好啦,Python自動化辦公室就是怎麼神奇。
完整程式碼取得方式:
連結:https://www.php.cn/link/0d5a4a5a748611231b945d28436b8ece
######## ##提取碼:p9iw#######
因為文法簡單、容易上手,Python 被稱為「最適合初學者學習」的程式語言。而對於工作中各種重複性的電腦工作,都可以考慮用Python來轉換成自動化程式。
如果你是Python初學者,會發現本文的邏輯非常簡單,甚至大家還可以對此進行改進。例如python-docx模組在讀取Word文件有優勢,但是向模板寫入文字時,可以考慮使用docxtpl模組(學一點Jinja2語法)。
以上是用Python自動產生數據日報!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

numpyArraysareAreBetterFornumericalialoperations andmulti-demensionaldata,而learthearrayModuleSutableforbasic,內存效率段

numpyArraySareAreBetterForHeAvyNumericalComputing,而lelethearRayModulesiutable-usemoblemory-connerage-inderabledsswithSimpleDatateTypes.1)NumpyArsofferVerverVerverVerverVersAtility andPerformanceForlargedForlargedAtatasetSetsAtsAndAtasEndCompleXoper.2)

ctypesallowscreatingingangandmanipulatingc-stylarraysinpython.1)usectypestoInterfacewithClibrariesForperfermance.2)createc-stylec-stylec-stylarraysfornumericalcomputations.3)passarraystocfunctions foreforfunctionsforeffortions.however.however,However,HoweverofiousofmemoryManageManiverage,Pressiveo,Pressivero

Inpython,一個“列表” isaversatile,mutableSequencethatCanholdMixedDatateTypes,而“陣列” isamorememory-sepersequeSequeSequeSequeSequeRingequiringElements.1)列表

pythonlistsandArraysareBothable.1)列表Sareflexibleandsupportereceneousdatabutarelessmory-Memory-Empefficity.2)ArraysareMoremoremoremoreMemoremorememorememorememoremorememogeneSdatabutlesserversEversementime,defteringcorcttypecrecttypececeDepeceDyusagetoagetoavoavoiDerrors。

Python和C 各有優勢,選擇應基於項目需求。 1)Python適合快速開發和數據處理,因其簡潔語法和動態類型。 2)C 適用於高性能和系統編程,因其靜態類型和手動內存管理。

選擇Python還是C 取決於項目需求:1)如果需要快速開發、數據處理和原型設計,選擇Python;2)如果需要高性能、低延遲和接近硬件的控制,選擇C 。

通過每天投入2小時的Python學習,可以有效提升編程技能。 1.學習新知識:閱讀文檔或觀看教程。 2.實踐:編寫代碼和完成練習。 3.複習:鞏固所學內容。 4.項目實踐:應用所學於實際項目中。這樣的結構化學習計劃能幫助你係統掌握Python並實現職業目標。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。