Olah Data Excel dengan Python – Membuat File

Setelah melakukan instalasi Python, saatnya menggunakannya untuk membantu mengolah data yang kita miliki di Excel. Kenapa perlu alat bantu lain, padahal sudah ada Formula, Pivot dan bahkan VBA?

Benar, hanya gunakan Python atau tools lainnya jika menurut Anda fitur yang ada di Excel tidak memenuhi kebutuhan, menggunakan alat bantu lain memerlukan pengetahuan dan menambah kompleksitas.

Umumnya python digunakan saat.

  1. Mengotomasi pekerjaan yang sama berulang, misal menyalin data yang sama ke banyak sheets.
  2. Data sudah teramat banyak, Excel mulai menghabiskan terlalu banyak waktu untuk melakukan kalkulasi.
  3. Anda ingin melakukan lebih dengan data yang dimiliki, misal menggunakan Kecerdasan Buatan untuk memprediksi jenis kelamin dari nama.

Untuk dapat mengakses file Excel, Python memerlukan library tambahan, salah satunya adalah OpenPyXL. Sama seperti sebelumnya kita akan melakukan instalasi library tersebut melalui PIP, ini adalah semacam Play Store di Android atau App Store di IPhone, untuk melakukan instalasi dengan mengetik pip instal nama-library.

Buka Command Prompt dan ketik pip install openpyxl lalu Enter, proses ini hanya perlu sekali dilakukan, selanjutnya library tersebut telah terinstal dalam komputer Anda dan bisa langsung digunakan pada kode Python.

Masih menggunakan Command Prompt yang sama, kita masuk ke Python Interpreter dengan mengetik python lalu Enter. Kemudian dalam Python Interpreter ketik import openpyxl lalu Enter.

Kita akan coba membuat sebuah file Excel menggunakan Python dengan kode berikut.

wb = openpyxl.Workbook()
ws = wb.active
ws['A1'] = 'Ini adalah kata dalam kolom A baris 1, dibuat menggunakan Python'
wb.save('c:\excel_python.xlsx')

Kita akan ketik per baris sembari memahami perlahan. Pertama ketik wb = openpyxl.Workbook() lalu Enter, ini artinya kita membuat sebuah variable bernama wb yang diisi dengan sebuah fungsi Workbook() dari library openpyxl.

Lalu di baris selanjutnya ketik ws = wb.active lalu Enter, berarti buat sebuah variable bernama ws yang berisi worksheet aktif dari workbook wb.

Ketik ws[‘A1’] = ‘Ini adalah kata dalam kolom A baris 1, dibuat menggunakan Python’ lalu Enter, artinya pada sel beralamat kolom A baris 1 di worksheet ws isilah dengan kalimat “Ini adalah…”. Ini mirip dengan formula INDEX pada Excel.

Di bawahnya kita ketik wb.save(‘c:\excel_python.xlsx’) dan Enter yang bermakna, workbook wb disimpan pada Drive C dengan nama excel_python.xlsx. Dan.

Gagal!

Jangan panik, pemrograman adalah soal trial and error, jika terjadi kesalahan, sudah biasa, yakinlah di luar sana mayoritas orang pernah salah. Dan karena kesalahan dibuat oleh banyak orang, maka pasti sudah ada solusinya, yang harus kita lakukan hanya memahami kenapa terjadi kesalahan lalu cukup mencari di Google solusinya. Baiknya Python telah menyediakan error message begini.

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\aan\AppData\Local\Programs\Python\Python37\lib\site-packages\openpyxl\workbook\workbook.py", line 39, in save
FIle "C:\Users\aan\AppData\Local\Programs\Python\Python37\lib\site-packages\openpyxl\writer\excel.py", line 282, in save_workbook
archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True)
File "C:\Users\aan\AppData\Local\Programs\Python\Python37\lib\zipfile.py", line 1204, in __init__
self.fp = io.open(file, filemode)
PermissionError: [Errno 13] Permission denied: 'c:\excel_python.xlsx'

Kita baca per baris pesan kesalahan tersebut.

Traceback …, kita tidak paham, lewati saja.

File “<stdin>” …, masih tidak paham, lewati.

File “C:\Users\…”, membingungkan, tapi sepertinya ada kata openpyxl, mungkin maksudnya sesuatu tentang library openpyxl. Kita lewati saja, toh kita tak dapat berbuat apa-apa jika memang yang error librarynya.

File “C:\Users\…”, sama seperti di atas, sesuatu tentang openpyxl, lewati.

archive…, ga mudeng, lewati.

File “C:\Users\…”, makin membingungkan, lewati.

self.fp…, masih tak mengerti, lewati.

PermissionError: [Errno 13]…, sesuatu tentang izin yang tak diberikan dan c:\excel_python.xlsx adalah yang kita ketik sebelumnya, apa mungkin maksudnya kita tak dapat ijin untuk membuat file tersebut? Agar pasti, lebih baik kita tanya Google. Ketik Python PermissionError Errno 13 di Google, kenapa menambahkan kata Python, karena kita sedang menggunakannya, sepertinya ini berhubungan.

Di Google, jawaban paling relevan adalah di halaman pertama, kita coba buka jawaban pertama. Ini adalah halaman StackOverflow dimana seseorang bertanya kenapa terjadi kesalahan pada kode Pythonnya. Dan seseorang menjawab bahwa si penanya salah karena mencoba membuka folder sebagai file, dan menyarankan untuk membuka file (menambahkan nama dan ekstensi file, misal test.txt). Hmm, tidak mirip dengan kasus kita yang sudah menuliskan nama dan ekstensi file.

Kalau begitu kita buka jawaban berikutnya. Kali ini masih dari situs StackOverflow, namun tidak ada yang menjawab. Artinya kita buka link berikutnya lagi, ternyata dari situs pengguna Ubuntu (Operating System), kita kan menggunakan Windows, sepertinya jawaban di sana tidak relevan.

Jawaban berikutnya mengindikasikan Win32, sepertinya mereka membahas tentang Windows, sama seperti yang kita gunakan. Baca perlahan halaman web tersebut, dari atas orang membicarakan banyak hal yang kita tak paham, tapi ada yang mengatakan soal “Administrator Mode“, apakah kita tak mendapat izin karena bukan Administrator? Kalau begitu kita harus menggunakan Administrator Mode? Atau ada alternatif lain, kenapa tidak kita menyimpan saja file Excel kita di folder yang kita buat sendiri, katakanlah di Drive D. Tak ada salahnya kita coba.

Buat folder baru di Drive D, misal latihan_excel_python lalu kita ubah kode kita agar menyimpan file Excel di folder tersebut. Pada Python Interpreter, ketik wb.save(‘d:\latihan_excel_python\excel_python.xlsx’) lalu Enter.

Tak ada error message, mantap.

Dan ternyata ada file bernama excel_python.xlsx di folder latihan_excel_python. Dan saat dibuka.

Mantul, Mantap Butul! Kita telah sakses membuat file Excel pertama tanpa menggunakan Excel, sungguh paradoks yang membahagiakan.

Semua yang kita ketik pada Python Interpreter tadi disebut juga dengan algoritma alias langkah kerja, yaitu kita memerintahkan komputer untuk melakukan ini lalu ambil itu, dan kemudian buat anu. Mengetik algoritma di layar hitam putih tidaklah menyenangkan, selain juga rawan kesalahan karena itu kita akan menggunakan media lain untuk mengetik, yaitu notepad. Kita akan membuat lagi sebuah file Excel berisi 3 nama buah yaitu Apple, Banana dan Cherry.

Pertama buka notepad lalu ketikkan seperti ini, Anda dapat melakukan copy dan paste jika ingin.

import openpyxl
wb = openpyxl.Workbook()
ws = wb.active
ws['A1'] = 'No'
ws['B1'] = 'Nama'
ws['A2'] = 1
ws['B2'] = 'Apple'
ws['A3'] = 2
ws['B3'] = 'Banana'
ws['A4'] = 3
ws['B4'] = 'Cherry'
wb.save('d:\\latihan_excel_python\\buah.xlsx')

Tidak ada konsep yang baru pada kode di atas hanya tambahan berupa perintah seperti isi sel pada kolom B baris 1 dengan ‘Nama’ lalu isi sel pada kolom A baris 4 dengan (angka) 3.

Lalu simpan file tersebut di Folder D:\latihan_excel_python dan diberi nama membuat_buah.py.

Cara menggunakannya adalah buka IDLE dari Start Menu.

Kemudian pilih File > Open atau Ctrl + O.

Pilih file membuat_buah.py.

Kemudian akan terbuka sebuah window baru yang menampilkan kode pada file membuat_buah.py.

Kemudian pilih Run > Run Module Anda dapat pula menekan F5 untuk menjalankan algoritma pada file tersebut. Muncul sebuah window baru.

Tanpa error message sepertinya berhasil. Kita dapat melihat apakah berhasil membuat sebuah file buah.xlsx sesuai dengan kode wb.save(‘d:\\latihan_excel_python\\buah.xlsx’), bukalah folder latihan_excel_python pada drive D.

Mari coba buka file buah.xlsx.

Sekali lagi, Mantul! Kita telah melakukan instalasi library untuk mengolah (saat ini baru membuat) file Excel, membuat file untuk pertama kali, belajar mencari solusi permasalahan dengan Google, dan sebagai bonus sudah tahu bagaimana ngoding (aktivitas membuat kode) dengan media yang lebih manusiawi (notepad). Pada tulisan berikutnya kita akan mendiskusikan bagaimana membuka dan mengolah file Excel yang sudah ada sebelumnya.

Salam.

Cover Photo by Christina Morillo from Pexels

Leave a Reply

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