用Python自動執行數據處理任務

很多數據分析愛好者都會使用Power BI構建Dashboard、可視化數據。

然而,在對複雜的Dashboard進行建立和改進時,總會通過不同的字段和相應表格,不斷添加或刪除Widget。

經過多次更改後,數據結構會看起來很雜亂——原先幫助構建Dashboard的那些表格和列表變得混亂不堪。一番數據處理後,最終的Dashboard可以包含所有當前使用字段。

不幸的是,在Power BI上實現Dashboard全預覽的唯一方法是,自行瀏覽所有Widget的數據,並手動寫下那些已用字段。

圖片描述

但程序員都會努力避免不必要的手動操作,所以我們應該好好鑽研,尋找這方面的解決方案。別擔心,最後的解決方案出奇地簡單!

解構PBIX文件

整理Power BI而不直接使用的第一步是研究.PBIX文件。WinRAR等免費壓縮文件能夠解壓任何.PBIX文件。以上功能給用戶提供了一系列不同的文件格式和目錄選擇,爲後續的分析和操控創造可能。

瀏覽解壓文件時,可以看到一個內含“layout”的“Report”的文件夾。這個文件夾包含了有關Dashboard的視覺結構的所有信息,比如:

• 每個Widget的大小和x/y座標

• 已用字段名稱

• 所有的設置和參數

• 標題

• ……以及其他海量信息

layout文件看起來由一串JSON、表單和詞庫共同構成。我們打算使用Python對所有數據字段和已用Widget進行總結。

file

從文字編輯器裏打開layout

構建語法分析器

原本以爲一個普通的JSON分析器可以解決問題,但不幸的是JSON內部都是嵌套結構,因此代碼都比設想的長一些,但整體上還是比較簡短。解碼和場景建構之後,得到了較爲滿意的結果:分析器成功返回了每一個Widget對應的表格和字段。

然後運用Pandas將以上數據概括到一個數據幀中,刪除了所有重複信息(例如,兩個Widget共用的信息)。這個步驟的結果以簡潔的數據幀呈現,涵蓋了在Dashboard中使用的所有數據:

file

Jupyter Notebook上的輸出數據幀

線上版本

好了,目前所有程序都能從layout文件上覆制字符串,再粘貼到Jupyter Notebook上,從而藉助方程完美運行。儘管運行得相當順利,整個操作的用戶友好度不是很好,所以下一步就是把該方程轉化爲一個實用工具。

繼續用Python的話,可以選擇用Flask構建一個網絡應用程序。

file

工具的線上版本

總的來說,這僅僅是將字符串當作輸入。運行方程,返回數據幀後,它將框架轉換爲HTML表格,最終將HTML表格展示給用戶。該工具完全免費,沒有任何廣告。它有時候在Heroku網絡服務器上運行速度會稍慢。

file

最後得到一個顯示了所有Dashboard裏使用過的獨有數據字段

接下來做什麼?

儘管得到了令人滿意的結果,不過,研究纔剛剛開始。還有足夠空間擴展腳本文件,探索解壓文件夾中的其他文件。.PBIX文件能帶來許多新的機會。比如說,可以簡單地對文件進行微調,重新壓縮文件然後用Power BI重新打開——似乎有點成效。這說明用戶可以使用Python腳本編輯Dashboard。

下一步需要做什麼?你可以考慮以下方面:

• 追蹤更改

• 自動生成報告

• 創建更廣泛的報告

相關鏈接:

https://towardsdatascience.com/power-bi-how-i-started-using-python -to- automate- tasks-9f53e3e9ab47

本文僅供學習之用,版權歸原作者所有,如有侵權請聯繫刪除。

在學習Python的道路上肯定會遇見困難,別慌,我這裏有一套學習資料,包含40+本電子書,800+個教學視頻,涉及Python基礎、爬蟲、框架、數據分析、機器學習等,不怕你學不會! https://shimo.im/docs/JWCghr8prjCVCxxK/ 《Python學習資料》

關注公衆號【Python圈子】,優質文章每日送達。

file

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章