Excel Dosyalarını Python ile CSV’ye Dönüştürme

Giriş

Excel dosyaları, veri organize etme ve raporlama amacıyla sıklıkla kullanılan popüler bir format. Ancak, bazen bu verilerin daha yaygın ve kolay erişilebilir bir format olan CSV (Comma-Separated Values) formatına dönüştürülmesi gerekebilir. Python programlama dili, bu tür dönüşümler için mükemmel bir araç sunar. Bu yazıda, Excel dosyalarını Python kullanarak kolayca CSV formatına nasıl dönüştürebileceğinizi öğreneceksiniz. Ayrıca, bu sürecin ardındaki temel kavramları ve farklı yöntemleri de inceleyeceğiz.

Python ile Excel ve CSV Formatları

Excel dosyaları genellikle .xls veya .xlsx uzantılıdır ve veri tablolarını, grafiklerini ve çeşitli formatlama seçeneklerini içerir. CSV formatı ise basit bir metin dosyası olup, verileri yan yana virgüllerle ayırarak depolar. CSV dosyaları, verilerin kolayca okunabilmesi ve çeşitli programlar arasında taşınabilmesi için idealdir. Python, veri işlemleri ve dönüşümleri açısından oldukça güçlü kütüphanelere sahiptir. En yaygın kullanılan kütüphanelerden biri, veri analizi için kapsamlı bir araç sunan Pandas kütüphanesidir.

Pandas, Excel dosyalarını okumak, üzerinde çalışmak ve CSV dosyalarına dönüştürmek için mükemmel bir çözüm sunar. Ayrıca, openpyxl ve xlrd gibi diğer kütüphaneler de Excel dosyalarını işlemek için kullanılır. Ancak, en basit ve etkili yöntemlerden biri Pandas kütüphanesinin sunduğu yöntemlerdir. Şimdi, bu dönüşümü nasıl yapacağımızı adım adım inceleyelim.

Pandas ile Excel Dosyasını CSV’ye Dönüştürme

Excel dosyasını CSV formatına dönüştürmek için öncelikle Pandas kütüphanesini yüklememiz gerekiyor. Eğer sisteminizde yüklenmemişse, bunu pip ile gerçekleştirebilirsiniz:

pip install pandas openpyxl

Yukarıdaki komut, Pandas ve Excel dosyalarını okumak için gerekli olan openpyxl kütüphanesini yükleyecektir. Şimdi, mevcut bir Excel dosyasını CSV formatına nasıl dönüştüreceğimizi görelim.

Aşağıda basit bir Python kodu ile örnek bir Excel dosyasını CSV formatına dönüştürebiliyoruz:

import pandas as pd

# Excel dosyasını oku
excel_dosyasi = pd.read_excel('veri.xlsx')

# CSV formatına dönüştür ve kaydet
excel_dosyasi.to_csv('veri.csv', index=False)

Bu kodda önce pandas kütüphanesini içe aktarıyoruz. Ardından, read_excel fonksiyonu ile Excel dosyasını okuyoruz. Son olarak, to_csv fonksiyonu ile verileri CSV formatında kaydediyoruz. index=False argümanı, Satır indekslerini CSV dosyasına kaydetmemizi istemediğimiz anlamına geliyor, böylece daha temiz bir çıktı elde ediyoruz.

Hata Yönetimi ve Kritik Noktalar

Excel’den CSV’ye dönüşüm sırasında çeşitli hatalarla karşılaşabileceğinizi unutmamalısınız. Örneğin, dosyanın bulunamaması, Excel dosyasında beklenmedik bir formatın olması ya da verilerin eksik olması gibi durumlar ortaya çıkabilir. Bu tür sorunların üstesinden gelmek için birkaç basit yöntem kullanabiliriz.

Aşağıda, hata yönetimini kolaylaştırmak için güncellenmiş bir Python kodu verilmektedir:

import pandas as pd

try:
    # Excel dosyasını oku
    excel_dosyasi = pd.read_excel('veri.xlsx')
    # CSV formatına dönüştür ve kaydet
    excel_dosyasi.to_csv('veri.csv', index=False)
    print('Dönüşüm başarılı!')
except FileNotFoundError:
    print('Hata: Excel dosyası bulunamadı.')
except Exception as e:
    print(f'Hata: {e}')

Burası, dönüşüm sırasında oluşabilecek hataları yakalamak için bir try-except bloğu kullandığımız yerdir. FileNotFoundError hatası, belirtilen dosyanın bulunamadığı durumlarda tetiklenecek ve bir hata mesajı verecektir. Diğer hataları yakalamak için genel Exception bloğunu kullanıyoruz.

CSV Dönüşümü Sonrası İşlemler

Excel dosyalarını dönüştürdükten sonra genellikle bazı ek işlemler yapmak isteyebiliriz. Örneğin, CSV dosyasında bazı gereksiz sütunları çıkarmak ya da verileri filtrelemek gibi işlemler yapabiliriz. Pandas, bu tür verileri manipüle etmek için son derece kullanışlı araçlar sunar.

Aşağıdaki örnekte, belirli bir sütunu kaldırıp, verileri filtreleyerek yeni bir CSV dosyası oluşturma işlemi yapacağız:

import pandas as pd

# Excel dosyasını oku
excel_dosyasi = pd.read_excel('veri.xlsx')

# Gereksiz bir sütunu çıkar
excel_dosyasi = excel_dosyasi.drop(columns=['GereksizSütun'])

# Belirli bir koşula göre filtrele
filtrelenmis_veri = excel_dosyasi[excel_dosyasi['Yaş'] > 18]

# Yeni CSV dosyası olarak kaydet
filtrelenmis_veri.to_csv('filtrelenmis_veri.csv', index=False)

Bu işlemde, drop fonksiyonunu kullanarak ‘GereksizSütun’ adlı sütunu kaldırdık. Ardından, ‘Yaş’ sütunundaki değeri 18’den büyük olan kayıtları filtreleyerek yeni bir DataFrame oluşturduk ve son olarak bu filtrelenmiş veriyi CSV formatında kaydettik.

Özelleştirilmiş Formatlar ve Ekstra Özellikler

CSV dosyaları genellikle basit bir format olmasına rağmen, belirli durumlarda daha özelleştirilmiş formatlara ihtiyacımız olabilir. Örneğin, verilerin ayracını değiştirmek veya virgüller yerine noktalı virgül kullanmak isteyebilirsiniz. Pandas, bu tür özelleştirmeleri gerçekleştirmek için çeşitli argümanlar sunar.

Aşağıda, verilerin ayracını değiştirme ve ek özellikler ekleme örneği görebilirsiniz:

excel_dosyasi.to_csv('ozelleştirilmiş_veri.csv', sep=';', index=False, encoding='utf-8')

Bu kodda sep=';' argümanı, verilerin ayracını noktalı virgül olarak ayarlamamıza olanak tanır. encoding='utf-8' argümanı ise karakter setini UTF-8 olarak ayarlayarak farklı dil ve sembollerin doğru bir şekilde kaydedilmesini sağlar.

Sonuç

Excel dosyalarını Python kullanarak CSV formatına dönüştürmek son derece basit ve etkilidir. Bu yazıda, Pandas kütüphanesini kullanarak adım adım dönüşüm sürecini, hata yönetimini ve ek verilerin manipülasyonunu ele aldık. Artık kendi projelerinizde Excel verilerinizi CSV formatına dönüştürebilir ve bu veriler üzerinde çeşitli işlemler yapabilirsiniz. Python’un sağladığı bu esneklikle, verilerinizi daha erişilebilir ve kullanışlı hale getirebilirsiniz.

Unutmayın, veri yönetimi ve dönüşümü sürekli değişen bir alan ve Python ile bu alandaki en son yenilikleri takip etmek, sizi rakiplerinizden bir adım önde tutacaktır. Şimdi sıra sizde; Excel dosyalarınızı alın ve yukarıda belirtilen adımları izleyerek verilerinizi CSV formatına dönüştürmeye başlayın!

Scroll to Top