Birden çok Excel çalışma sayfasından verileri yüklemeyi ve birleştirmeyi otomatikleştir
Artık listings.xlsx dosyasındaki üç borsanın liste bilgilerini bir for döngüsü yazarak içe aktarma sürecini otomatikleştirmeye hazırsın. Şunları yapacaksın:
- Bir
pd.ExcelFile()nesnesininsheet_namesözniteliğini kullanarak sayfa adlarını al. - Boş bir liste oluştur.
- Bu sayfa adları üzerinde dönen bir for döngüsü yaz: Excel dosyasındaki ilgili sayfadan veriyi bir değişkene oku. İstersen bir referans sütunu ekle. Her yinelemede bu değişkenin içeriğini listeye ekle.
- Listedeki DataFrame'leri birleştir.
Her zamanki gibi, yardıma ihtiyaç duyarsan bu bölümdeki önceki egzersizlere veya pandas dokümantasyonuna başvurabilirsin. pandas, pd takma adıyla içe aktarılmıştır.
Bu egzersiz, kursun bir parçasıdır
Python ile Finansal Verileri İçe Aktarma ve Yönetme
Egzersiz talimatları
listings.xlsxdosyasını kullanarak birpd.ExcelFile()nesnesi oluştur vexlsdeğişkenine ata.xlsnesnesinin.sheet_namesözniteliğinden sayfa adlarını al veexchangesdeğişkenine ata.- Boş bir liste oluştur ve
listingsdeğişkenine ata. exchangeyineleyici değişkeniyle bir for döngüsü kullanarakexchangesüzerinde dön. Her yinelemede:- Eksik değerleri ele almak için veri kaynağı olarak
xls,sheet_nameargümanı olarakexchangevena_valuesiçin'n/a'kullanarakpd.read_excel()uygula. Sonuculistingdeğişkenine ata. listingiçinde değeriexchange(yineleyici değişken) olan'Exchange'adlı yeni bir sütun oluştur.- Ortaya çıkan
listingDataFrame'inilistingslistesine ekle.
- Eksik değerleri ele almak için veri kaynağı olarak
listingsiçeriğini birleştirmek içinpd.concat()kullan ve sonuculisting_datadeğişkenine ata..info()kullanaraklisting_dataiçeriğini incele.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Create the pd.ExcelFile() object
xls = ____
# Extract the sheet names from xls
exchanges = ____.____
# Create an empty list: listings
# Import the data
for exchange in exchanges:
listing = pd.____(____, sheet_name=____, na_values='n/a')
listing['Exchange'] = ____
listings.____(____)
# Concatenate the listings: listing_data
listing_data = pd.____(____)
# Inspect the results
listing_data.info()