Mario

WFN Üye
Konular
581
Mesajlar
581
Çözüm
0
Ticaret Puanı
0
Üyelik
24 Gün
Konum
Zonguldak
Web Sitesi
Var
Alanı
Google Optimiz.
1/1
Konu sahibi
Python’da Excel dosyasını okumanın en pratik yolu, tablo verileriyle çalışacaksanız pandas kütüphanesini kullanmaktır. Önce pandas ve Excel motoru olarak openpyxl paketlerini kurun; ardından read_excel() ile dosyayı bir DataFrame içine aktarın. Böylece sayfa adlarını, sütunları ve satırları Python üzerinden inceleyebilir, filtreleyebilir veya başka bir dosyaya kaydedebilirsiniz.

Gerekli paketleri kurma​


Komut satırında veya kullandığınız sanal ortamın terminalinde şu komutu çalıştırın:

Kod:
pip install pandas openpyxl

pandas, Excel verisini tablo olarak işler. openpyxl ise özellikle .xlsx biçimindeki dosyaların okunmasını sağlar. Kurulumdan sonra Python dosyanızın, okuyacağınız Excel dosyasının bulunduğu klasörde olması yolu belirtmeyi kolaylaştırır; dosya başka bir klasördeyse tam veya göreli dosya yolunu kullanabilirsiniz.

Excel dosyasını okumak​


Örneğin aynı klasörde rapor.xlsx adlı bir dosya bulunduğunu varsayalım. Dosyanın ilk çalışma sayfasını okumak için şu kod yeterlidir:

Python:
import pandas as pd

veri = pd.read_excel("rapor.xlsx", engine="openpyxl")

print(veri.head())
print(veri.columns.tolist())
print(veri.shape)

Kod çalıştığında veri değişkeni Excel sayfasındaki tabloyu tutan bir DataFrame olur. head() ilk beş satırı gösterir; böylece verinin gerçekten okunup okunmadığını ve sütun başlıklarının beklediğiniz gibi gelip gelmediğini kontrol edersiniz. columns.tolist() sütun adlarını, shape ise satır ve sütun sayısını verir.

Dosya farklı bir klasördeyse yolu açıkça yazın:

Python:
veri = pd.read_excel(
    "C:/projeler/veri/rapor.xlsx",
    engine="openpyxl"
)

Windows yollarında ters eğik çizgi kullanacaksanız ham metin biçimi de tercih edebilirsiniz:

Python:
veri = pd.read_excel(r"C:\projeler\veri\rapor.xlsx")
İhtiyaçKullanılacak ifade
İlk çalışma sayfasıpd.read_excel("rapor.xlsx")
Belirli sayfa adısheet_name="Satışlar"
Belirli sayfa numarasısheet_name=1
Tüm sayfaları okumaksheet_name=None
Tabloyu doğrudan belirli bir çalışma sayfasından okumak için sayfa adını verin:

Python:
satislar = pd.read_excel(
    "rapor.xlsx",
    sheet_name="Satışlar",
    engine="openpyxl"
)

print(satislar.head())

Sayfa adı dosyada gerçekten bulunmuyorsa hata alırsınız. Emin değilseniz önce dosyadaki sayfa adlarını listeleyebilirsiniz:

Python:
excel = pd.ExcelFile("rapor.xlsx", engine="openpyxl")
print(excel.sheet_names)

Birden fazla sayfayı birlikte okumak için sheet_name=None kullanılır. Bu durumda sonuç tek bir tablo değil, sayfa adlarını anahtar olarak kullanan bir sözlük olur:

Python:
sayfalar = pd.read_excel(
    "rapor.xlsx",
    sheet_name=None,
    engine="openpyxl"
)

for sayfa_adi, tablo in sayfalar.items():
    print(sayfa_adi)
    print(tablo.head())

Okunan veriyi kontrol etme ve kullanma​


Excel’de ilk satır sütun başlığı değilse bunu belirtin. Örneğin ilk satırı atlamak için skiprows=1 kullanılabilir:

Python:
veri = pd.read_excel(
    "rapor.xlsx",
    skiprows=1,
    engine="openpyxl"
)

Sütun adlarında boşluk veya beklenmeyen karakterler varsa önce print(veri.columns.tolist()) çıktısını inceleyin. Sütun adına göre filtreleme yapmadan önce adın gerçekten doğru geldiğini kontrol etmek önemlidir; aksi hâlde sorun Excel’in okunmamasından değil, yanlış sütun adının kullanılmasından kaynaklanır.

Örneğin Tutar sütunu 1000’den büyük satırları seçmek için:

Python:
yuksek_tutar = veri[veri["Tutar"] > 1000]
print(yuksek_tutar)

Bu kodun sonuç vermesi, Tutar sütununun sayısal olarak okunmuş olduğunu gösterir. Sütunda metin, boş hücre veya para birimi simgesi varsa karşılaştırma hatası alabilirsiniz; önce ilgili sütunun değerlerini ve veri türünü print(veri.dtypes) ile inceleyin.

Yaygın hatalar​

  • FileNotFoundError: Dosya yolu yanlıştır veya Python farklı bir çalışma klasöründen çalışıyordur. Dosya adını, uzantıyı ve çalışma klasörünü kontrol edin.
  • Worksheet named... not found: Verdiğiniz sayfa adı Excel dosyasındaki adla aynı değildir. ExcelFile.sheet_names çıktısını kullanın.
  • ImportError veya motor hatası: openpyxl kurulu değildir; kullandığınız Python ortamında pip install openpyxl komutunu çalıştırın.
  • Yanlış başlıklar: Excel’de başlık satırı ilk satırda değilse skiprows veya uygun başlık satırı seçeneğini kullanın.
Eski .xls dosyaları .xlsx dosyalarından farklı bir biçimdir ve ayrıca uygun bir Excel okuma motoru gerektirebilir. Dosyayı mümkünse Excel veya LibreOffice ile .xlsx olarak kaydedip yeniden okuyun. Okuma başarılı göründüğünde yalnızca ekrana birkaç satır basılması yeterli kanıt değildir; sütun adlarını, satır sayısını ve önemli sütunların veri türlerini de kontrol edin.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Foruma git ?

Bu konuyu görüntüleyen kullanıcılar

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic