Color Coding Menggunakan Python dan Pandas

March 30, 2023 - Aptaworks

Pengertian Conditional Formatting & Color Coding

Conditional formatting dan color coding pada Excel merupakan salah satu cara untuk memudahkan proses analisis data (Data Analytics). Akan tetapi proses tersebut dapat menghabiskan waktu bila jumlah file atau sheet yang akan di-format sangatlah banyak. Begitu juga bila aturan pewarnaan lebih rumit, antarmuka Microsoft Excel juga memiliki keterbatasan dalam menerapkan color coding rules.

Saat menghadapi masalah demikian, program kecil menggunakan bahasa Python dapat membantu. Kita lihat bersama.

Tools pada Conditional Formatting & Color Coding

Python, dengan library Pandas dan Openpyxl, menawarkan metode conditional formatting dan color coding yang dapat diterapkan untuk file Excel. Python dapat memproses banyak file atau sheet secara sekaligus, menerapkan conditional formatting rules yang rumit, dan menggunakan kembali tersebut pada file-file lain.

Tools yang dibutuhkan pada proses ini adalah – Python – Library Pandas – Library Openpyxl

Apabila Python telah ter-install, Pandas dan Openpyxl dapat di-install dengan mengeksekusi perintah

Di mana file requirements.txt berisi



Penerapan Conditional Formatting & Color Coding

Sebagai contoh, file yang akan diproses color coding memiliki struktur sebagai berikut

File untuk diproses color coding

File terdiri dari beberapa sheet dimana pada setiap sheet nya kolom A menunjukkan Nama, kolom B menunjukkan angka Sales dan kolom C menunjukkan angka Target 

Mula-mula, import library yang dibutuhkan

Untuk membuka file tersebut, gunakan fungsi pd.ExcelFile yang telah disediakan library Pandas 

Setelah membuka file Excel, rules untuk conditional formatting data dirumuskan menjadi:  

– Jika Sales > Target, warnai cell Sales menjadi hijau  

– Jika Sales < Target, warnai cell Sales menjadi merah  

– Jika Sales = Target, warnai cell Sales menjadi kuning 

Untuk mempermudah, proses color-code dilakukan pada sheet January terlebih dahulu dan kemudian akan digeneralisasi untuk sheet-sheet lainnya. 

Mari breakdown tiap line diatas, 

Line dibawah bertujuan untuk membuat file baru bernama Sales_color_coded.xlsx untuk menyimpan file yang telah di color-code. Kemudian file ini dibaca kembali di Python dan disimpan sebagai object bernama writer  

Kemudian sheet January pada file Sales_data.xlsx akan dibaca dan simpan sheet tersebut pada file Sales_color_coded.xlsx yang telah dibuat sebelumnya

Pada line berikut kita membuat sheet January pada Sales_color_coded.xlsx sebagai worksheet yang akan di color-code 

Sebelum melakukan color-coding, nomor kolom Sales dan kolom Target bisa didapatkan dengan cara berikut 

Color-coding dilakukan dengan looping setiap cell pada kolom Name 

Untuk setiap cell pada kolom Name, nilai Sales dan Target akan disimpan masing-masing pada variable sales_value dan target_value dibawah 

Kemudian, bandingkan sales_value dan target_value dengan menggunakan rules yang sudah ditentukan. Jika sales_value lebih besar dibandingkan dengan target_value, warnai cell dengan warna hijau. Warna hijau dipilih dengan memberikan Hex color codes 00FF00 pada parameter start_color dan end_color. 

Selanjutnya, apabila sales_value sama dengan target_value, warnai cell dengan warna kuning, yaitu Hex color codes FFFF00. 

Kondisi terakhir menggunakan keyword else, yaitu apabila sales_value < target_value, maka warnai cell dengan warna merah (Hex color codes FF0000) 

Python akan menjalankan code diatas dan melakukan proses color coding (seperti gif dibawah) dibelakang layar. 

Contoh sheet yang akan dilakukan untuk proses color-code

 

Untuk melakukan color-code pada setiap sheet nya kita dapat memodifikasi code diatas menjadi 

Related Post

Free Slots: The Ultimate Overview

Welcome to site fortune tiger the best guide to cost-free ports! Whether you’re a seasoned

April 16, 2024

Mobile Gambling Establishment: Your Ultimate Guide to Betting on the Go

Mobile modern technology has actually reinvented the means we live, work, and play. Gone are

April 11, 2024