回復(fù)“書籍”即可獲贈Python從入門到進階共10本電子書
(資料圖)
今
日
雞
湯
低眉信手續(xù)續(xù)彈,說盡心中無限事。大家好,我是皮皮。
一、前言前幾天在Python最強王者群【莫生氣】問了一個Python自動化辦公的問題,這里拿出來給大家分享下。
他的原始數(shù)據(jù)中,如下圖所示,這里脫敏后的處理:
原來粉絲的做法是,針對不同的合同號,屬于不同的產(chǎn)品,他自己單獨從excel中進行篩選數(shù)據(jù),比方說合同1為一個單獨的表格,合同2又為一個單獨的表格,合同3為一個單獨的表格,然后再針對3個不同的表格進行單獨操作。
上面這個做法確實是可以行得通,但是篩選的話就比較費時間,也費精力,萬一出錯了,比方說少復(fù)制一行啥的,還容易出現(xiàn)混亂。
二、實現(xiàn)過程其實這里可以在處理的時候,增加一個判斷,如果是合同1的話,就單獨為合同1寫個處理函數(shù),同理,如果是合同2的話,就單獨為合同2寫個處理函數(shù),以此類推。畢竟每個合同代表不同的產(chǎn)品,每個產(chǎn)品的模板處理還有部分差異。
然后公共部分的話,還是可以復(fù)用的,以前3個程序需要分別進步跑程序,現(xiàn)在整合到一個代碼文件里邊,提升了效率。
if?__name__?==?"__main__":????df?=?pd.read_excel("測試數(shù)據(jù).xlsx",?sheet_name="Sheet1",?usecols="B,E,F,M,Q,R,U,V,X,AC,AN:AR")????df.columns?=?[c.strip()?for?c?in?df.columns]????for?(b,?e,?m,?f),?df_split?in?df.groupby(["合同號",?"商品編號",?"收貨單位",?"城市名"]):????????m?=?m.strip("*")????????#?注意這里會過濾掉特殊省位????????if?any(addr?in?f?for?addr?in?("廣東",?"安徽",?"浙江",?"福建",?"貴州")):????????????continue????????if?b.startswith("合同1"):????????????title?=?"合同1"????????????hetong1(title,?e)????????elif?b.startswith("合同2"):????????????title?=?"合同2"????????????hetong2(title,?e)????????elif?b.startswith("合同3"):????????????title?=?"合同3"????????????hetong3(title,?e)????????else:????????????print(f"該訂單屬于其他產(chǎn)品!")
程序改進之后,順利地幫粉絲解決了問題,還提升了處理問題的效率,粉絲直呼好家伙!
三、總結(jié)大家好,我是皮皮。這篇文章主要盤點了一個Python自動化辦公的問題,文中針對該問題,給出了具體的解析和代碼實現(xiàn),幫助粉絲順利解決了問題。
最后感謝粉絲【莫生氣】提問,感謝【Python進階者】給出的思路和代碼解析,感謝【馮誠】等人參與學(xué)習(xí)交流。
【提問補充】溫馨提示,大家在群里提問的時候??梢宰⒁庀旅鎺c:如果涉及到大文件數(shù)據(jù),可以數(shù)據(jù)脫敏后,發(fā)點demo數(shù)據(jù)來(小文件的意思),然后貼點代碼(可以復(fù)制的那種),記得發(fā)報錯截圖(截全)。代碼不多的話,直接發(fā)代碼文字即可,代碼超過50行這樣的話,發(fā)個.py文件就行。
大家在學(xué)習(xí)過程中如果有遇到問題,歡迎隨時聯(lián)系我解決(我的微信:pdcfighting1),應(yīng)粉絲要求,我創(chuàng)建了一些高質(zhì)量的Python付費學(xué)習(xí)交流群和付費接單群,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!
小伙伴們,快快用實踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
-------------------?End?-------------------
往期精彩文章推薦:
if a and b and c and d:這種代碼有優(yōu)雅的寫法嗎?
Pycharm和Python到底啥關(guān)系?
都說chatGPT編程怎么怎么厲害,今天試了一下,有個靜態(tài)網(wǎng)頁,chatGPT居然沒搞定?
站不住就準備加倉,這個pandas語句該咋寫?
歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請在后臺回復(fù)【入群】
萬水千山總是情,點個【在看】行不行
/今日留言主題/
隨便說一兩句吧~~
關(guān)鍵詞: