全文共2391字,預計學習時長14分鐘
圖源:morioh
工作中,無窮無盡的表格有時會令人抓狂。Excel無處不在,即便有着像Python這樣的強大工具任你使用,你也難以從中逃脱。
也許你的老闆和同事仍然需要這種簡單的方法來訪問重要數據。但沒關係!那並不意味着你不能通過使用Python來簡化Excel工作。
全程無需使用Excel,逃離報表魔爪!
用Python將Excel報表自動化
你還在天天做Excel報表嗎?而且還是為不同的客户做着四五次同樣的報表嗎?不如讓Python代勞吧!
通過使用筆者在數據透視表教程中的數據( 數據格式將使你期望從公司數據庫中獲得的內容與客户銷售數據相匹配,與你期望從公司數據庫中獲得的數據相匹配。它按區域細分這些數據,並且創建兩個帶有格式和圖表的彙總表。無需使用Excel! 最終的數據流—一個工作簿轉化為四個格式化報告 | 圖源:Nik Piepenbreier 加載庫 使用Pandas和Openpyxl。筆者的“用Python自動化這三項(無聊!!!)Excel任務”( 你使用如下兩個Librariy: 1. Pandas負責轉化數據,並創建初始Excel文件 2. Openpyxl將工作薄格式化,並插入圖表 加載數據 加載數據,並概覽正在處理的內容。正如筆者所提到的,這些數據與讀者從公司數據庫系統獲得的數據相似。 在這裏,使用Pandas讀取Excel文件,並讀取Date/日期列的日期。 創建數據透視表 接着我們要創建最終報告中所需要的彙總表。這裏將創建一個數據透視表以作為例子,其中僅使用東部地區進行代碼的實驗。 創建第一個Excel文件 有了數據透視表後,將其導入到一個Excel文件中,我們將用pandas來導入: 這一步是在做什麼: · 創建一個文件路徑變量,以確定要將文件存儲在何處, · 使用ExcelWriter保存文件 · 將兩個透視表保存到單獨的工作表中,從第3行開始(稍後從中保留以用於頁眉) 使報表更漂亮 Pandas有助於將數據導入到Excel中。既然數據已經導入Excel,不妨將其美化一下,來添加一些可視化效果。 在Section 5中,將工作簿和工作表加載到Openpyxl可以處理的單獨對象中。 而Section 6中操作更多: · 在表一的A1和A2單元格中添加標題和副標題。 · 更改“quarters”列的標題,使其更能反映數據。 · 對標題和副標題應用樣式。 · 將金融領域的單元格轉換為貨幣。這需要對每單個單元格進行單獨處理。因此使用了for循環。 在Section 7中,添加了條形圖: · 創建一個條形圖對象,並識別存儲數據和類別的字段。 · 隨後將數據和類別應用於對象。 · 最後,添加描述性標題和樣式。使用許多不同的樣式都試試! 這就是工作簿現在的樣子: 所得工作簿之一 | 圖源: Nik Piepenbreier 對多個工作簿執行工作流自動化 雖然已經很方便了,但是僅在一個區域執行這樣的操作只能節約一點點的時間。我們可使用for循環,對所有的區域執行此操作。 在Section 8中,創建了一個列表,其中包含了想要覆蓋的不同區域的所有唯一值。 在Section 9中,在for循環中重複先前的代碼: · 創建一個新變量,該變量用於保存文件所在文件夾的路徑 · 接下來,使用f-strings將區域名插入到腳本中,使得腳本對每個區域都是動態的。 圖源:unsplash Python的好處在於,它可使重複的任務具有可伸縮性。 想象一下,如果你每天都會收到這份文件,並且每天都要創建這些工作簿。這種方法能幫你節省多少時間!#Section 1 - Loading our Libraries
#Section 2 - Loading our Data
#Section 3 - Testing Pivot Tables
#Section 04 - Creating and Excel Workbook
#Section 05 - Loading the Workbook
#Section 08 - Getting Region Names