Python'da excel (xlsx) dosyası nasıl okunur

How Read Excel File Python



NS .xlsx büyük miktarda veriyi tablo şeklinde depolayabilen, birçok türde aritmetik ve mantıksal hesaplamanın bir excel tablosunda kolaylıkla yapılabildiği excel belgesinin uzantısıdır. Bazen programlama amacıyla Python betiğini kullanarak excel belgesindeki verileri okumak gerekir. Python'da excel belgesini okumak için birçok modül bulunmaktadır. Kullanışlı modüllerden bazıları şunlardır: xlrd , openpyxl , ve pandalar . Python'da excel dosyasını okumak için bu modülleri kullanmanın yolları bu eğitimde gösterilmiştir.

Ön koşul:

Bu öğreticinin örneklerini kontrol etmek için .xlsx uzantılı sahte bir excel dosyası gerekecektir. Mevcut herhangi bir excel dosyasını kullanabilir veya yeni bir tane oluşturabilirsiniz. Burada, adlı yeni bir excel dosyası satış.xlsx dosya aşağıdaki verilerle oluşturulmuştur. Bu dosya, bu öğreticinin sonraki bölümünde farklı python modüllerini kullanarak okumak için kullanılmıştır.







satış.xlsx



Satış Tarihi Satis elemani Miktar
05/12/18 Sıla Ahmed 60000
12/06/19 ben hossain 50.000
08/09/20 Sarmin Cihan 45000
04/07/21 Mahmudül Hasan 30000

Örnek-1: xlrd kullanarak excel dosyasını okuyun

xlrd modülü varsayılan olarak Python ile kurulmaz. Bu nedenle, kullanmadan önce modülü kurmanız gerekir. Bu modülün en son sürümü, .xlsx uzantılı excel dosyasını desteklememektedir. Yani xlsx dosyasını okumak için bu modülün 1.2.0 sürümünü kurmanız gerekiyor. Gerekli sürümünü yüklemek için terminalden aşağıdaki komutu çalıştırın. xlrd .



$pipYüklemek xlrd== 1.2.0

Kurulum işlemini tamamladıktan sonra aşağıdaki komut dosyası ile bir python dosyası oluşturun ve aşağıdaki komut dosyasını okuyun. satış.xlsx kullanarak dosya xlrd modül. open_workbook() komut dosyasında kullanılan işlev xlsx dosyasını okumak için açın. Bu excel dosyası yalnızca bir sayfa içerir. Böylece workbook.sheet_by_index() işlevi komut dosyasında 0 bağımsız değişken değeriyle kullanılmıştır. Ardından, iç içe geçmiş 'için' Döngü, satır ve sütun değerlerini kullanarak çalışma sayfasının hücre değerlerini okumak için kullanılır. Sayfa verilerine dayalı olarak satır ve sütun boyutunu tanımlamak için komut dosyasında iki range() işlevi kullanılmıştır. NS hücre_değeri() işlevi, döngünün her yinelemesinde sayfanın belirli hücre değerini okumak için kullanılır. Çıktıdaki her alan bir sekme boşluğu ile ayrılacaktır.





# xlrd modülünü içe aktarın
xlrd'yi içe aktar

# Çalışma Kitabını Açın
çalışma kitabı = xlrd.open_workbook('satış.xlsx')

# Çalışma sayfasını aç
çalışma sayfası = workbook.sheet_by_index(0)

# Satırları ve sütunları yineleyin
içinbeniçindeAralık(0,5):
içinJiçindeAralık(0,3):
# Hücre değerlerini sekme boşluğu ile yazdırın
Yazdır(çalışma sayfası.hücre_değeri(ben, j),son='T')
Yazdır('')

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir.



Örnek-2: openpyxl kullanarak excel dosyasını okuyun

NS openpyxl xlsx dosyasını okumak için başka bir python modülüdür ve ayrıca varsayılan olarak Python ile birlikte yüklenmez. Bu modülü kullanmadan önce kurmak için terminalden aşağıdaki komutu çalıştırın.

$pipYüklemekopenpyxl

Kurulum işlemini tamamladıktan sonra aşağıdaki komut dosyası ile bir python dosyası oluşturun ve aşağıdaki komut dosyasını okuyun. satış.xlsx dosya. xlrd modülü gibi, openpyxl modülü vardır yük_çalışma kitabı() xlsx dosyasını okumak için açma işlevi. NS satış.xlsx file, bu işlevin bağımsız değişken değeri olarak kullanılır. nesnesi wookbook.active değerlerini okumak için komut dosyasında oluşturuldu. max_row ve max_column özellikler. Bu özellikler, içeriğin içeriğini okumak için iç içe geçmiş döngülerde kullanılmıştır. satış.xlsx dosya. Sayfanın satırlarını okumak için range() işlevi, sayfanın sütunlarını okumak için iter_cols() işlevi kullanılmıştır. Çıktıdaki her alan iki sekme boşluğu ile ayrılacaktır.

# openyxl modülünü içe aktar
openpyxl'yi içe aktar

# Wookbook'u yüklemek için değişken tanımlayın
wookbook = openpyxl.load_workbook('satış.xlsx')

# Aktif sayfayı okumak için değişken tanımlayın:
çalışma sayfası = wookbook.active

# Hücre değerlerini okumak için döngüyü yineleyin
içinbeniçindeAralık(0, çalışma sayfası.max_row):
için ile içindeworksheet.iter_cols(1, çalışma sayfası.max_column):
Yazdır(ile[ben].değer,son='TT')
Yazdır('')

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir.

Örnek-3: Pandaları kullanarak excel dosyasını okuyun

Pandalar modülü, önceki modül gibi python ile kurulmamıştır. Yani, daha önce yüklemediyseniz, yüklemeniz gerekir. yüklemek için aşağıdaki komutu çalıştırın pandalar terminalden.

$pipYüklemekpandalar

Kurulum işlemini tamamladıktan sonra aşağıdaki komut dosyası ile bir python dosyası oluşturun ve aşağıdaki komut dosyasını okuyun. satış.xlsx dosya. NS read_excel() xlsx dosyasını okumak için pandaların işlevi kullanılır. Bu işlev komut dosyasında satış.xlsx dosya. NS Veri çerçevesi() işlevi, veri çerçevesindeki xlsx dosyasının içeriğini okumak ve değerleri adlı değişkende saklamak için burada kullanılmıştır. veri . Verilerin değeri daha sonra yazdırılmıştır.

# Pandaları içe aktar
ithal pandalarolarakpd

# xlsx dosyasını yükleyin
excel_data = pd.read_excel('satış.xlsx')
# Veri çerçevesindeki dosyanın değerlerini okuyun
veri = pd.DataFrame(excel_veri,sütunlar=['Satış Tarihi','Satis elemani','Miktar'])
# İçeriği yazdır
Yazdır('Dosyanın içeriği: ', veri)

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Bu betiğin çıktısı önceki iki örnekten farklıdır. Satır numaraları, satır değerinin 0'dan sayıldığı ilk sütunda yazdırılır. Tarih değerleri, merkezi olarak hizalanır. Satış görevlilerinin adları sağa hizalanır. Tutar sola hizalanır.

Çözüm:

Python kullanıcılarının farklı programlama amaçları için xlsx dosyalarıyla çalışması gerekir. Bu öğreticide, üç python modülü kullanılarak xlsx dosyasını okumanın üç farklı yolu gösterilmiştir. Her modülün xlsx dosyasını okumak için farklı işlevleri ve özellikleri vardır. Bu öğretici, python kullanıcılarının bu öğreticiyi okuduktan sonra python komut dosyasını kullanarak xlsx dosyasını kolayca okumasına yardımcı olacaktır.