XLSX merupakan format file microsoft excel, pengolahan data dengan microsoft excel cukup popular.
Beragam fungsi bisa kita ciptakan dengan excel macro untuk melakukan bebagai macam penyajian data, baik untuk tujuan statistik dan lain sebagainya.
Pandas merupakan library python yang menyediakan struktur data dan analisis data berkinerja tinggi untuk bahasa python. Untuk pandas kamu bisa mempelajari manual booknya di sini.
Pandas membantu Anda menyederhakan proses pengolahan data, salah satunya data dalam format .XLSX.
Sebelum menggunakan pandas buat terlebih dahulu python environment untuk meng-enkapsulasi project yang akan kita buat, baca tutorial tentang konfigurasi python virtualenvironment di sini.
Setelah membuat environment, sekarang install pandas dengan pip
pip install pandas
pip install xlrd, openpyxl
sample data excel
Dari gambar diatas terdapat sample data kota, jumlah penduduk dan pendapatan harian. pada tutorial kali ini kita akan memparse file .xlsx dengan python.
import pandas as pddf = pd.read_excel('excels.xlsx', sheet_name='Sheet1')
for i in df.index:
print("Kota: "+df['Kota'][i])
print("Jumlah Penduduk: "+df['Jumlah_Penduduk'][i])
print("Pendapatan Harian: "+df['Pendapatan_Harian'][i])
Perhatikan kode diatas, di dalam file excel terdapat kolom header ( kota, jumlah penduduk, pendapatan harian) dan juga file xlsx tersebut terdapat sheet name dengan nama Sheet1.
Untuk memparse kolom pada xlsx diatas kita gunakan for . kenapa menggunakan for ?, hal ini karena hasil parse dalam bentuk list data.
import pandas as pddf = pd.read_excel('excels.xlsx', sheet_name='Sheet1')
lst=[]
for i in df.index:
data = {}
data['kota'] = df['Kota'][i]
data['jumlah_penduduk'] = df['Jumlah_Penduduk'][i]
data['pendapatan_harian'] = df['Pendapatan_Harian'][i]
lst.append(data)
print(lst)
[{'kota': 'jakarta', 'jumlah_penduduk': '15 juta', 'pendapatan_harian': '500 ribu'}, {'kota': 'tangerang', 'jumlah_penduduk': '10 juta', 'pendapatan_harian': '300 ribu'}, {'kota': 'serang', 'jumlah_penduduk': '7 juta', 'pendapatan_harian': '200 ribu'}, {'kota': 'pandegelang', 'jumlah_penduduk': '3 juta', 'pendapatan_harian':'100 ribu'}]