Sebagian besar dunia saat ini mengandalkan Excel untuk banyak proses. Kita semua tahu Excel digunakan untuk mengatur data, melakukan perhitungan, analisis keuangan, visualisasi, dll. Namun, terkadang ada kebutuhan untuk mengotomatiskan beberapa tugas berulang yang sulit dilakukan secara manual. Dan inilah Python untuk menyelamatkan kita dari tugas-tugas monoton dan membantu mengotomatisasi. Salah satu pustaka Python yang bermanfaat adalah Openpyxl yang akan kita pelajari di artikel ini
Openpyxl
Openpyxl adalah pustaka Python yang digunakan untuk membaca dari file Excel atau menulis ke file Excel. Ilmuwan data menggunakan Openpyxl untuk analisis data, penyalinan data, penggalian data, menggambar bagan, lembar gaya, menambahkan rumus, dan banyak lagi
Buku kerja. Spreadsheet direpresentasikan sebagai buku kerja di openpyxl. Buku kerja terdiri dari satu atau lebih lembar
Lembaran. Sheet adalah satu halaman yang terdiri dari sel-sel untuk mengatur data
Sel. Perpotongan antara baris dan kolom disebut sel. Biasanya diwakili oleh A1, B5, dll
Baris. Baris adalah garis horizontal yang diwakili oleh angka (1,2, dst. )
Kolom. Kolom adalah garis vertikal yang diwakili oleh huruf kapital (A, B, dst. )
Openpyxl dapat diinstal menggunakan perintah pip dan disarankan untuk menginstalnya di lingkungan virtual
1 2 #loading a workbook wb = openpyxl.load_workbook("example.xlsx") _6
Buat buku kerja baru
Kita mulai dengan membuat spreadsheet baru, yang disebut workbook di Openpyxl. Kami mengimpor modul buku kerja dari Openpyxl dan menggunakan 1 2 #loading a workbook wb = openpyxl.load_workbook("example.xlsx") 7 yang membuat buku kerja baru
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 from openpyxl import Workbook #creates a new workbook wb = Workbook() #Gets the first active worksheet ws = wb.active #creating new worksheets by using the create_sheet method ws1 = wb.create_sheet("sheet1", 0) #inserts at first position ws2 = wb.create_sheet("sheet2") #inserts at last position ws3 = wb.create_sheet("sheet3", -1) #inserts at penultimate position #Renaming the sheet ws.title = "Example" #save the workbook wb.save(filename = "example.xlsx")Membaca data dari buku kerja
Kami memuat file menggunakan 1 2 #loading a workbook wb = openpyxl.load_workbook("example.xlsx") _8 yang menggunakan nama file sebagai argumen. File harus disimpan di direktori kerja yang sama
1 2 #loading a workbook wb = openpyxl.load_workbook("example.xlsx")Mendapatkan lembar dari buku kerja yang dimuat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 #getting sheet names wb.sheetnames result = ['sheet1', 'Sheet', 'sheet3', 'sheet2'] #getting a particular sheet sheet1 = wb["sheet2"] #getting sheet title sheet1.title result = 'sheet2' #Getting the active sheet sheetactive = wb.active result = 'sheet1'Mengakses sel dan nilai sel
1 2 3 4 5 6 7 8 9 10 11 #get a cell from the sheet sheet1["A1"] < Cell 'Sheet1'.A1 > #get the cell value ws["A1"].value 'Segment' #accessing cell using row and column and assigning a value d = ws.cell(row = 4, column = 2, value = 10) d.value 10 _Iterasi melalui baris dan kolom
1 2 3 4 5 6 7 8 9 10 11 12 13 #looping through each row and column for x in range(1, 5): for y in range(1, 5): print(x, y, ws.cell(row = x, column = y) .value) #getting the highest row number ws.max_row 701 #getting the highest column number ws.max_column 19Ada dua fungsi untuk iterasi melalui baris dan kolom
1 2 3 4 5 Iter_rows() => returns the rows Iter_cols() => returns the columns { min_row = 4, max_row = 5, min_col = 2, max_col = 5 } => This can be used to set the boundaries for any iteration. _Contoh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #iterating rows for row in ws.iter_rows(min_row = 2, max_col = 3, max_row = 3): for cell in row: print(cell) < Cell 'Sheet1'.A2 > < Cell 'Sheet1'.B2 > < Cell 'Sheet1'.C2 > < Cell 'Sheet1'.A3 > < Cell 'Sheet1'.B3 > < Cell 'Sheet1'.C3 > #iterating columns for col in ws.iter_cols(min_row = 2, max_col = 3, max_row = 3): for cell in col: print(cell) < Cell 'Sheet1'.A2 > < Cell 'Sheet1'.A3 > < Cell 'Sheet1'.B2 > < Cell 'Sheet1'.B3 > < Cell 'Sheet1'.C2 > < Cell 'Sheet1'.C3 > _Untuk mendapatkan semua baris lembar kerja kita menggunakan metode lembar kerja. baris dan untuk mendapatkan semua kolom lembar kerja kita menggunakan metode lembar kerja. kolom. Demikian pula, untuk mengulang hanya melalui nilai-nilai kita menggunakan lembar kerja metode. nilai-nilai
Contoh
1 2 3 for row in ws.values: for value in row: print(value)Menulis data ke file Excel
Menulis ke buku kerja dapat dilakukan dengan banyak cara seperti menambahkan rumus, menambahkan bagan, gambar, memperbarui nilai sel, menyisipkan baris dan kolom, dll… Kami akan membahas masing-masing dengan sebuah contoh
Membuat dan menyimpan buku kerja baru
1 2 3 4 5 #creates a new workbook wb = openpyxl.Workbook() #saving the workbook wb.save("new.xlsx")Menambahkan dan menghapus lembar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 #creating a new sheet ws1 = wb.create_sheet(title = "sheet 2") #creating a new sheet at index 0 ws2 = wb.create_sheet(index = 0, title = "sheet 0") #checking the sheet names wb.sheetnames['sheet 0', 'Sheet', 'sheet 2'] #deleting a sheet del wb['sheet 0'] #checking sheetnames wb.sheetnames['Sheet', 'sheet 2']Menambahkan nilai sel
1 2 #loading a workbook wb = openpyxl.load_workbook("example.xlsx") 0Menambahkan formula
Kami sering meminta rumus untuk disertakan dalam lembar data Excel kami. Kami dapat dengan mudah menambahkan rumus menggunakan modul Openpyxl seperti Anda menambahkan nilai ke sel
Sebagai contoh
Program di atas akan menambahkan rumus (=SUM(A2. A8)) di sel A9. Hasilnya akan seperti di bawah ini
Menggabungkan/memisahkan sel
Dua atau lebih sel dapat digabungkan ke area persegi panjang menggunakan metode merge_cells(), dan demikian pula, mereka dapat dipisahkan menggunakan metode unmerge_cells()
Sebagai contoh
Menggabungkan sel
Menambahkan kode di atas ke contoh sebelumnya akan menggabungkan sel seperti di bawah ini
Pisahkan sel
1 2 #loading a workbook wb = openpyxl.load_workbook("example.xlsx") _3Kode di atas akan memisahkan sel dari B2 ke C9
Menyisipkan gambar
Untuk menyisipkan gambar, kami mengimpor fungsi gambar dari modul openpyxl. menggambar. gambar. Kami kemudian memuat gambar kami dan menambahkannya ke sel seperti yang ditunjukkan pada contoh di bawah ini
Contoh
1 2 #loading a workbook wb = openpyxl.load_workbook("example.xlsx") _4Hasil
Membuat bagan
Grafik sangat penting untuk menunjukkan visualisasi data. Kita dapat membuat grafik dari data Excel menggunakan modul grafik Openpyxl. Berbagai bentuk bagan seperti bagan garis, bagan batang, bagan garis 3D, dll. , dapat dibuat. Kita perlu membuat referensi yang berisi data yang akan digunakan untuk bagan, yang tidak lain adalah pilihan sel (baris dan kolom). Saya menggunakan data sampel untuk membuat diagram batang 3D pada contoh di bawah ini