Pandas'ta birden fazla excel sayfası nasıl birleştirilir
Genellikle birden fazla Excel sayfasını tek bir pandas DataFrame’e aktarmak ve birleştirmek isteyebilirsiniz.
Örneğin, data.xlsx adında, her biri iki sütun basketbol oyuncusu verisi içeren üç farklı sayfadan oluşan aşağıdaki Excel çalışma kitabınız olduğunu varsayalım:
Pandas concat() ve read_excel() işlevlerini kullanarak her sayfayı kolayca tek bir panda DataFrame’e aktarabilir ve birleştirebiliriz, ancak önce xlrd’nin kurulu olduğundan emin olmamız gerekir:
pip install xlrd
Kurulduktan sonra, bu üç sayfayı tek bir Pandas DataFrame’e aktarmak ve birleştirmek için aşağıdaki kodu kullanabiliriz:
#load pandas library import pandas as pd #import and combine the three sheets into one pandas DataFrame df = pd. concat (pd. read_excel ('data.xlsx', sheet_name= None ), ignore_index= True ) #view DataFrame df player points 0 to 12 1 B 5 2 C 13 3 D 17 4 E 27 5 F 24 6 G 26 7:27 a.m. 8 I 27 9 D 12 10K 9 11 L 5 12 M 5 13 N 13 14 O 17
Bu kod nasıl çalışıyor?
Bu tek kod satırının birden fazla Excel sayfasını nasıl içe aktarabildiğini ve birleştirebildiğini anlamak için yalnızca iki bölüm vardır:
1. Tüm sayfaları okuyun.
p.d. read_excel ('data.xlsx', sheet_name= None )
Bu kod parçası bir Excel çalışma kitabının tüm sayfalarında okunur. Varsayılan olarak, read_excel() işlevi yalnızca ilk sayfayı okur, ancak sayfa_adı=Yok belirtilerek Excel çalışma kitabındaki her sayfayı okuyabiliriz.
2. Tüm sayfaları birleştirin.
p.d. concat ( DataFrames to concatenate , ignore_index= True )
Bu kod parçası, her bir Excel sayfasındaki tüm DataFrame’leri tek bir panda DataFrame’de birleştirir. İgnore_index=True değerini belirterek pandalara bireysel yaprak adlarının önemli olmadığını söyleriz.
Bu kodun yalnızca Excel sayfalarının her biri aynı formattaysa çalıştığını unutmayın. Bu örnekte, her sayfada iki veri sütunu vardı ve her sütun aynı ada sahipti; bu nedenle bu tek kod satırı, Excel sayfalarının her birini tek bir panda DataFrame’de birleştirmek için bu kadar kolay çalıştı.
Ek kaynaklar
Nihai Kılavuz: Pandalarla Excel Dosyaları Nasıl Okunur?
Birden fazla Excel sayfasına Pandas DataFrames nasıl yazılır?