Birden çok çalışma sayfasından veri alma

pandas ile Kolaylaştırılmış Veri Alımı

Amany Mahfouz

Instructor

Yüklenecek Sayfaları Seçme

  • read_excel() varsayılan olarak ilk çalışma sayfasını yükler
  • Diğer sayfalar için sheet_name anahtar argümanını kullanın
  • Sayfaları ada ve/veya (sıfırdan başlayan) konum numarasıyla belirtin
  • Birden fazla sayfayı aynı anda yüklemek için ad/numara listesini geçin
  • read_excel()'e verilen tüm argümanlar okunan tüm sayfalara uygulanır
pandas ile Kolaylaştırılmış Veri Alımı

Yüklenecek Sayfaları Seçme

Bir hesap tablosu programı ekran görüntüsü; iki çalışma sayfası sekmesi gösteriliyor

pandas ile Kolaylaştırılmış Veri Alımı

Seçili Sayfaları Yükleme

# Konum indeksine göre ikinci sayfayı al
survey_data_sheet2 = pd.read_excel('fcc_survey.xlsx',
                                   sheet_name=1)

# Ada göre ikinci sayfayı al survey_data_2017 = pd.read_excel('fcc_survey.xlsx', sheet_name='2017')
print(survey_data_sheet2.equals(survey_data_2017))
True
pandas ile Kolaylaştırılmış Veri Alımı

Tüm Sayfaları Yükleme

  • read_excel()'e sheet_name=None vermek, bir çalışma kitabındaki tüm sayfaları okur
survey_responses = pd.read_excel("fcc_survey.xlsx", sheet_name=None)

print(type(survey_responses))
<class 'collections.OrderedDict'>
for key, value in survey_responses.items():
    print(key, type(value))
2016 <class 'pandas.core.frame.DataFrame'>
2017 <class 'pandas.core.frame.DataFrame'>
pandas ile Kolaylaştırılmış Veri Alımı

Hepsini Bir Araya Getirme

# Yüklenen tüm sayfaları tutacak boş veri çerçevesi oluştur
all_responses = pd.DataFrame()

# Sözlükteki veri çerçevelerini dolaş for sheet_name, frame in survey_responses.items(): # Verinin hangi yıldan geldiğini bilmek için bir sütun ekle frame["Year"] = sheet_name
# Veri çerçevesini all_responses'a ekle all_responses = pd.concat([all_responses, frame])
# Verideki yılları görüntüle print(all_responses.Year.unique())
['2016' '2017']
pandas ile Kolaylaştırılmış Veri Alımı

Hadi pratik yapalım!

pandas ile Kolaylaştırılmış Veri Alımı

Preparing Video For Download...