Python Script Perbaiki File Excel

Tentu kesal jika membuka file Excel mendapat pemberitahuan (alert) seperti ini.

Padahal solusinya sederhana, cukup klik Yes pada alert itu kemudian semua akan baik-baik saja. Namun jika ada banyak file, bisa pegel dan bete duluan.

Bagusnya pengetahuan soal Python dapat membantu kita menyelesaikan pekerjaan kecil tapi membosankan itu. Kita dapat membuat Python script untuk menyalin semua data pada semua file Excel itu, berapapun banyaknya, ke file baru yang bebas masalah.

Cukup menggunakan kode kurang dari 50 baris ini maka kita dapat rebahan lebih lama.

import glob
import os
import openpyxl as xl;

target = '*.xlsx'
newdirectory = 'baru'

# Create directory if doesn't exists yet
if not os.path.exists(newdirectory):
    os.makedirs(newdirectory)

no = 1
for filepath in glob.glob(target):
    filename = os.path.basename(filepath)
    newfilename = os.path.join(newdirectory, filename)
    
    wb1 = xl.load_workbook(filepath)
    wb2 = xl.Workbook()

    for ws1 in wb1.worksheets:
        wb2.create_sheet(ws1.title)
        ws2 = wb2[ws1.title]

        max_row = ws1.max_row
        max_col = ws1.max_column

        for i in range(1, max_row + 1):
            for j in range(1, max_col + 1):
                c = ws1.cell(row = i, column = j)
                ws2.cell(row = i, column = j).value = c.value

    # Remove unecessary sheet
    sheet = wb2['Sheet']
    wb2.remove(sheet)

    # Save to a new file
    wb2.save(str(newfilename))

    # Output to console
    print(str(no), filename)
    no = no + 1

Simpan dengan nama perbaiki.py pada folder yang sama yang berisi file Excel yang bermasalah.

Lalu pada terminal/console/command prompt jalankan script itu dengan perintah.

python perbaiki.py

Python script perbaiki.py akan membuat sebuah folder bernama “baru” dan di dalamnya terdapat file excel yang sudah diperbaiki.

Mudah bukan? Mari, Bung, rebut kembali waktu rebahan kita!

Salam.

Leave a Reply

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