Pada artikel ini, kita akan melihat cara membaca file Excel di Flask. Kita akan menggunakan library Python Pandas untuk mengurai data excel ini sebagai HTML untuk mempermudah pekerjaan kita. Panda juga bergantung pada pustaka openpyxl untuk memproses format file Excel. Sebelum kita mulai, pastikan Anda telah menginstal pustaka Flask dan Pandas bersama dengan dependensi openpyxl
Modul yang Diperlukan
pip install flask==2.2.2 pip install pandas==1.4.2 pip install openpyxl==3.0.10Struktur File
Pastikan Anda memberi nama file HTML sebagai 'upload-excel. html' dan letakkan di folder 'templates' di dalam direktori root aplikasi
Templat HTML
Buat template HTML yang akan merender antarmuka pengguna untuk melihat opsi Telusuri dan Unggah untuk file tersebut. Kami telah mengizinkan pengunggahan format MS Excel dan Open XML hanya melalui atribut yang diterima dari tag masukan
HTML
<!DOCTYPE html>
________24__25_______ lang="en">
________24__1_______0>
python main.py2<python main.py4python main.py5python main.py4>
python main.py8python main.py0>
________24___23_______2>
python main.py2<<!DOCTYPE html>6<!DOCTYPE html>7<!DOCTYPE html>6>
python main.py2<<2 <3=<5 <6=<8 <9=html1________29______
________25______3<html5 html6=html8 html9=html8
________26______2lang3=lang5>
________25______3<html5 html6==2 =3==5>
python main.py2python main.py8<2>
python main.py8<!DOCTYPE html>2>
python main.py8html>
Unggah dan Baca File Excel di Flask
Langkah 1. Unggah File Excel di Flask
Impor modul yang diperlukan
Python3
"en"7
"en"8 "en"9>0 >1"en"8 >3
Langkah 2. Baca File Excel di Flask
Fungsi ini mengembalikan halaman indeks untuk mengunggah file Excel
Python3
>4
________29______5>6>7>8
>9 <0
python main.py2<2 <3<4>8
Langkah 3
Di sini, kami telah membuat Aplikasi Flask yang akan berisi dua titik akhir. Satu titik akhir akan menangani permintaan GET dari URL root. Ini akan mengembalikan template HTML yang berisi opsi untuk mengunggah file. Titik akhir lainnya adalah '/view' yang menangani permintaan POST. Ini akan membaca file unggahan dan mengembalikan cuplikan HTML untuk melihat Excel yang diunggah dalam format tabel di jendela browser. Juga, file tersebut akan disimpan di direktori lokal Anda menggunakan fungsi save()
Anda dapat dengan mudah mengimpor file Excel ke Python menggunakan Pandas. Untuk mencapai tujuan ini, Anda harus menggunakan read_excel
import pandas as pd df = pd.read_excel(r'Path where the Excel file is stored\File name.xlsx') print(df)Perhatikan bahwa untuk versi Excel yang lebih lama, Anda mungkin perlu menggunakan ekstensi file 'xls'
Dan jika Anda memiliki lembar Excel tertentu yang ingin Anda impor, Anda dapat mengajukan permohonan
import pandas as pd df = pd.read_excel(r'Path of Excel file\File name.xlsx', sheet_name='your Excel sheet name') print(df)Sekarang mari tinjau contoh yang menyertakan data yang akan diimpor ke Python
Data yang akan Diimpor ke Python
Misalkan Anda memiliki tabel berikut yang disimpan di Excel (di mana nama file Excel adalah 'produk')
product_namepricecomputer700tablet250printer120laptop1200keyboard100Anda kemudian dapat mengikuti langkah-langkah di bawah ini untuk mengimpor file Excel ke Python
Langkah-langkah untuk Mengimpor File Excel ke Python menggunakan Pandas
Langkah 1. Tangkap jalur file
Pertama, tangkap jalur lengkap tempat file Excel disimpan di komputer Anda
Misalnya, misalkan file Excel disimpan di bawah jalur berikut
C. \Users\Ron\Desktop\ produk. xlsx
Dalam kode Python di bawah ini, Anda harus mengubah nama jalur untuk mencerminkan lokasi penyimpanan file Excel di komputer Anda
Jangan lupa sertakan nama file (dalam contoh kami, ' produk ' seperti yang disorot dengan warna biru). Anda juga harus menyertakan ekstensi file Excel (dalam kasus kami, ini adalah ' . xlsx ‘ seperti yang disorot dalam warna hijau).
Langkah 2. Terapkan kode Python
Berikut adalah kode Python untuk contoh kita
import pandas as pd df = pd.read_excel(r'C:\Users\Ron\Desktop\products.xlsx') print(df)Perhatikan bahwa Anda harus menempatkan "r" sebelum string jalur untuk mengatasi karakter khusus, seperti '\'. Selain itu, jangan lupa beri nama file di ujung path +'. xlsx’
Langkah 3. Jalankan kode Python untuk mengimpor file Excel
Jalankan kode Python (disesuaikan dengan jalur Anda), dan Anda akan mendapatkan kumpulan data berikut
product_name price 0 computer 700 1 tablet 250 2 printer 120 3 laptop 1200 4 keyboard 100Perhatikan bahwa Anda mendapatkan hasil yang sama dengan yang disimpan di file Excel
Catatan. Anda harus menginstal paket tambahan jika Anda mendapatkan kesalahan berikut saat menjalankan kode
KesalahanImpor. Tidak ada dependensi opsional 'xlrd'
Anda kemudian dapat menggunakan pendekatan instalasi PIP untuk menginstal openpyxl. file xlsx
pip install openpyxlLangkah Opsional. Memilih subset kolom
Sekarang bagaimana jika Anda ingin memilih kolom atau kolom tertentu dari file Excel?
Misalnya, bagaimana jika Anda hanya ingin memilih kolom product_name?
import pandas as pd data = pd.read_excel(r'C:\Users\Ron\Desktop\products.xlsx') df = pd.DataFrame(data, columns=['product_name']) print(df)Jalankan kode (setelah menyesuaikan jalur file), dan Anda hanya akan mendapatkan kolom product_name
product_name 0 computer 1 tablet 2 printer 3 laptop 4 keyboardAnda dapat menentukan kolom tambahan dengan memisahkan namanya menggunakan koma, jadi jika Anda ingin menyertakan kolom product_name dan price, Anda dapat menggunakan sintaks ini
import pandas as pd data = pd.read_excel(r'C:\Users\Ron\Desktop\products.xlsx') df = pd.DataFrame(data, columns=['product_name', 'price']) print(df)Anda harus memastikan bahwa nama kolom yang ditentukan dalam kode sama persis dengan nama kolom dalam file Excel. Jika tidak, Anda akan mendapatkan nilai NaN
Kesimpulan
Anda baru saja melihat cara mengimpor file Excel ke Python menggunakan Pandas
Terkadang, Anda mungkin perlu mengimpor file CSV ke Python. Jika demikian, Anda mungkin ingin memeriksa tutorial berikut yang menjelaskan cara mengimpor file CSV ke Python menggunakan Pandas
Anda juga dapat memeriksa Dokumentasi Panda untuk mengetahui lebih lanjut tentang berbagai opsi yang dapat Anda terapkan terkait dengan read_excel