![](https://products-qa.fileformat.com/ms/spreadsheet/python/pyexcel/header-image.png)
PyExcel
Perpustakaan Python Sumber Terbuka untuk Hamparan
Baca, Buat, Cantum & Tapis Data dalam Fail Hamparan CSV, ODS, XLS, XLSX & XLSM melalui Python API.
PyExcel ialah API Python tunggal sumber terbuka yang menyokong bekerja dengan beberapa format hamparan yang popular. Ia membolehkan pengaturcara perisian membaca, memanipulasi dan menulis data dalam format fail CSV, ODS, XLS, XLSX dan XLSM. API sangat tertumpu pada data dan bukannya format fail. Perpustakaan membantu pembangun web mengendalikan kebanyakan format fail excel dengan menyediakan antara muka pengaturcaraan biasa.
Sangat mudah untuk mendapatkan atau mengeksport data daripada fail MS Excel. Kebanyakannya ia memerlukan kod satu baris untuk mendapatkan data daripada fail excel. Terdapat hanya satu API untuk membaca dan menulis data dalam pelbagai format fail excel. Beberapa ciri penting disokong sepenuhnya oleh API, seperti membaca dan mengemas kini data dalam hamparan, menggabungkan semua fail excel dalam satu direktori, memisahkan buku kerja, mengekstrak helaian daripada buku kerja, menggabungkan baris dan sel, menggayakan lajur, menambah atau mengalih keluar lajur daripada helaian, penapisan data dan banyak lagi. API menyediakan senarai format fail yang disokong oleh pemalam luaran. Anda boleh menggunakan pip untuk menambah atau mengalih keluar pemalam.
Bermula dengan PyExcel
Pertama sekali, anda perlu memasang Python 2.6 atau lebih tinggi pada sistem anda. Cara yang disyorkan untuk memasang adalah melalui pip. Sila gunakan arahan berikut.
Pasang PyExcel melalui Perintah PIP
pip install pyexcel
API Python untuk Bekerja dengan Hamparan Excel
API PyExcel membolehkan pembangun perisian mengakses, membaca, menulis dan memanipulasi data dalam pelbagai format excel seperti CSV, ODS, XLS, XLSX dan XLSM. Sangat mudah untuk mengimport atau mengeksport data daripada fail Excel menggunakan API PyExcel. Ia menyokong penambahan baris baharu pada fail sedia ada, kemas kini baris dalam fail sedia ada, tambah atau kemas kini lajur pada fail sedia ada, cantumkan atau belah helaian, data carian, tukar fail excel kepada format lain dan banyak lagi.
Tambahkan Baris Baharu pada Fail Hamparan Sedia Ada melalui API Python
import pyexcel as pe
sheet = pe.get_sheet(file_name="example.xls")
sheet.row += [12, 11, 10]
sheet.save_as("new_example.xls")
pe.get_sheet(file_name="new_example.xls")
Gabung & Pisahkan Lembaran Kerja Excel
API PyExcel memberikan pembangun keupayaan untuk menggabungkan fail yang bertaburan dalam direktori ke dalam satu buku kerja Excel. Setiap fail akan menjadi helaian di dalam buku kerja. Ia juga menyediakan ciri untuk mencampur dan memadankan dengan format excel lain seperti XLS, CSV, XLSM dan ODS. Ia juga memudahkan anda membahagikan buku kerja kepada beberapa fail. Katakan anda mempunyai buku yang mengandungi beberapa lembaran kerja, dengan menggunakan perpustakaan PyExcel sumber Terbuka anda boleh memisahkan setiap satu ke dalam satu fail excel helaian.
Gabung atau Pisahkan Fail Excel melalui API Python
//merge two files into one file
from pyexcel.cookbook import merge_two_files
merge_two_files("example.csv", "example.xls", "output.xls")
//Split a workbook into single sheet files
from pyexcel.cookbook import split_a_book
split_a_book("megabook.xls", "output.xls")
import glob
outputfiles = glob.glob("*_output.xls")
for file in sorted(outputfiles):
print(file)
Penapisan Data dalam Hamparan
API PyExcel menyediakan ciri untuk pembangun menapis data mengikut keperluan mereka sendiri. Katakan anda mempunyai sejumlah besar data dan anda ingin menapis beberapa data daripadanya. Menggunakan API anda boleh melakukannya dengan mudah. Ia juga menyokong penapisan baris atau lajur kosong daripada helaian. Anda juga boleh menyimpan data penapis ke dalam fail lain.
Cara Menapis Baris Kosong dari Helaian Excel dalam Aplikasi Python
import pyexcel as pe
sheet = pe.Sheet([[1,2,3],['','',''],['','',''],[1,2,3]])
//define filter
def filter_row(row_index, row):
result = [element for element in row if element != '']
return len(result)==0
// Apply filter
del sheet.row[filter_row]