Otomasi dengan Python dan Menuliskan ke Excel

Banyak diantara kita yang masih menggunakan lembar bentang (spreadsheet) sejenis Ms. Excel atau Libre Calc untuk berbagai macam kegiatan. Baik itu menulis laporan, mencatat keuangan, atau sekedar membuat tabel.

Tapi ada beberapa pekerjaan yang memerlukan sedikit trik dan pengetahuan mendalam tentang rumus-rumus di Excel/Calc. Biasanya saya pakai bantuan Exceljet buat bikin fungsi-fungsi yang aneh di excel. Kadang sempet mikir, kerjaan ini lebih enak dikerjain di python karena alurnya jelas. Tapi kalo bikin di python, terus tulis lagi di excel sama aja kerja dua kali.

Nah, solusinya ketemu dengan menggunakan sebuah modul di python. Namanya xlsxwriter. Modul ini dipakai untuk nulis ke dalam file Excel/Calc. Pakainya lumayan mudah, dan hasilnya juga cukup memuaskan. Saya akan kasih contoh sekilas, untuk yang lebih lengkap bisa dicek sendiri ke dokumentasinya.

Misal kita punya data hasil crawling dalam python berupa informasi harga barang :

harga = {
    'KLEVV NEO MicroSD 90Mbs 64GB': 130000, 
    'Sandisk SDHC Ultra 32GB Class 10': 86000, 
    'Strontium Nitro Plus U3 4K SDHC 128GB' : 500000, 
    'Adata MicroSD 64GB Class 10' : 124000, 
    'Kingston SDHC 32GB Class 10 UHS-1 Ultimate Read 90MB/s': 230000,
    }

Untuk menuliskannya dalam Excel, kita perlu menginisiasi file (workbook) dan sheet (worksheet) nya dulu. Setelah itu, baru dituliskan sesuai dengan sel yang dituju. Penomoran baris dan kolom pada xlsxwriter dimulai dari 0, jadi sel A1 adalah sel pada baris ke-0 dan kolom ke-0. Jangan lupa workbook yang telah dibuat ditutup di akhir operasi.

import xlsxwriter as excel

wb = excel.Workbook('HargaBarang.xlsx')
sheet = wb.add_worksheet('MicroSD')


for index,key in enumerate(harga):
    sheet.write(index,0,key)
    sheet.write(index,1,harga[key])

wb.close()

Maka akan dihasilkan sebuah file Excel bernama HargaBarang.xlsx yang berisi seperti di bawah ini

Hasil Output xlsxwriter

Kolom A tidak otomatis mengikuti panjang isinya dan kolom B tidak terformat dalam rupiah karena tidak kita atur. Pengaturan itu dan yang lainnya bisa dilakukan juga melalui python. Silahkan bereksperimen. Link dokumentasi.

Leave a Reply

Your email address will not be published. Required fields are marked *