Python ile CSV Dosyalarını Nasıl Birleştiririz?

Giriş

CSV (Comma-Separated Values) dosyaları, veri saklama ve paylaşma konularında yaygın bir format olup, özellikle veri analizi ve işleme süreçlerinde sıkça kullanılır. Python, CSV dosyalarını yönetmek ve bu dosyaları birleştirmek için mükemmel bir araçtır. Bu yazıda, Python kullanarak birden fazla CSV dosyasını nasıl birleştirebileceğinizi adım adım öğreneceksiniz.

CSV dosyalarını birleştirmek, birçok veri kaynağından gelen bilgileri merkezileştirmenize olanak tanır. Örneğin, farklı kaynaklardan gelen satış verilerinizi tek bir dosya altında toplamak, analiz yapmayı ve raporlamayı oldukça kolaylaştırır. Python, bu tür işlemleri kolay ve etkili bir şekilde gerçekleştirmek için bir dizi kütüphane sunmaktadır.

Bu yazıda, öncelikle pandas kütüphanesini kullanarak CSV dosyalarını nasıl birleştirebileceğinizi göreceğiz. Pandas, veri analizi için en popüler Python kütüphanelerinden biridir ve özellikle veri çerçeveleri ile çalışma yeteneği sayesinde CSV dosyaları ile etkileşimi oldukça kolay hale getirir.

Pandas Kütüphanesi ile CSV Dosyalarını Birleştirmek

Pandas kütüphanesini kullanarak birden fazla CSV dosyasını birleştirmek için öncelikle bu kütüphaneyi yüklemeniz gerekir. Eğer bilgisayarınızda pandas yoksa, terminal veya komut istemcisinde şu komutu çalıştırarak yükleyebilirsiniz:

pip install pandas

Yükleme işleminin ardından, birkaç CSV dosyası ile örnek bir çalışma yapabiliriz. Bu işlem için öncelikle gerekli kütüphaneleri içe aktaralım ve CSV dosyalarımızın bulunduğu dizine girelim.

import pandas as pd
import glob

# CSV dosyalarının bulunduğu dizin
path = 'csv_dosyalarinin_yolu/*csv'

Şimdi, belirttiğimiz dizindeki tüm CSV dosyalarını okuyup bir DataFrame nesnesine ekleyelim. Bunun için glob modülünü kullanacağız. Glob, belirtilen bir yol kalıbına uyan dosyaları almak için kullanılır. Aşağıdaki kod parçacığını kullanarak tüm CSV dosyalarını bir listeye ekleyelim:

all_files = glob.glob(path)

Bundan sonra, her bir CSV dosyasını okuyup bir araya getireceğiz. Bunun için bir for döngüsü ile her bir dosyayı okuyup bir listeye ekleyebiliriz:

dfs = []
for filename in all_files:
    df = pd.read_csv(filename)
    dfs.append(df)

Sonuç olarak, tüm CSV dosyalarını içeren bir DataFrame listemiz olacak ve şimdi bunları bir araya getirebiliriz. Pandas’ın concat fonksiyonu bu işlemi gerçekleştirmek için idealdir:

big_df = pd.concat(dfs, ignore_index=True)

Bu satır, tüm DataFrame’leri birleştirip tek bir büyük DataFrame oluşturur. ignore_index=True parametresi, ilave edilen indekslerin sıfırdan başlayarak yeniden oluşturulmasını sağlar.

CSV Dosyasını Kaydetmek

Artık tüm verilerimizi tek bir DataFrame içerisinde topladığımıza göre, bu veriyi yeni bir CSV dosyası olarak kaydedebiliriz. Pandas kütüphanesi, DataFrame nesnesini kolayca CSV formatına aktarmanıza olanak tanır. Aşağıdaki kod parçacığı ile bir CSV dosyası oluşturabiliriz:

big_df.to_csv('birlesmis_dosya.csv', index=False)

Bu kod, big_df DataFrame’ini ‘birlesmis_dosya.csv’ adıyla kaydeder. index=False parametresi ile otomatik indeks numarasının CSV dosyasına yazılmasını engellemiş oluyoruz. Bu sayede dosyamız daha temiz bir görünüme sahip olacaktır.

CSV dosyasını kaydettikten sonra, dosyayı açabilir ve verilerinizin gerçekten birleştirildiğinden emin olabilirsiniz. İşte istediğiniz gibi çoklu CSV dosyalarını bir araya getirdiğinizde elde ettiğiniz sonucun nasıl görünebileceğine dair kısa bir örnek:

A, B, C
1, 2, 3
4, 5, 6
7, 8, 9

Hatalı CSV Dosyaları ile Baş Etmek

CSV dosyalarınızı birleştirirken karşılaşabileceğiniz bazı yaygın hatalar veya sorunlar olabilir. Özellikle dosyalar arasında uyumsuzluk varsa, bu durum veri kaybına yol açabilir. Örneğin, bazı dosyaların farklı sütun isimlerine sahip olması veya eksik verilere sahip olması durumu sık karşılaşılan bir sorundur. Bu tür durumlarla başa çıkmak için birkaç strateji kullanabilirsiniz.

Öncelikle, tüm CSV dosyalarının aynı yapıda olduğunu kontrol edin. Sütun isimlerinin ve veri türlerinin tutarlı olduğundan emin olun. Eğer sütun isimleri farklıysa, her bir DataFrame’i birleştirmeden önce bu isimleri standart hale getirmeniz önemlidir.

Örneğin, şu şekilde bir haritalama yaparak sütun isimlerini değiştirebilirsiniz:

df.rename(columns={'EskiSutun': 'YeniSutun'}, inplace=True)

Birleştirme işleminden önce eksik verileri kontrol etmek de oldukça kritiktir. Pandas, eksik değerleri kolayca tespit etmenize yardımcı olabilir:

df.isnull().sum()

Bu kod parçacığı, DataFrame’deki her bir sütunun eksik değerlerini sayarak bir liste oluşturur. Eğer birleştirme işlemi sırasında eksik verilerle karşılaşırsanız, bu değerleri doldurmak veya silmek için fillna veya dropna gibi fonksiyonları kullanabilirsiniz.

Özel Durumlar ve İleri Düzey Kapsama

Bazı durumlarda, CSV dosyalarını birleştirirken daha karmaşık işlemler yapmanız gerekebilir. Örneğin, birleştirme sırasında belirli sütunlara göre birleştirme yapma ihtiyacı duyabilirsiniz. Bu tür birleştirme türlerine join veya merge işlemleri denir ve pandas, bu işlemler için de çeşitli fonksiyonlar sunmaktadır.

pd.merge() fonksiyonu, iki DataFrame’i belirli bir sütuna göre birleştirmenize olanak tanır. Örneğin, iki DataFrame’i “id” sütununa göre birleştirirken şu şekilde Kullanabilirsiniz:

merged_df = pd.merge(df1, df2, on='id')

Eğer birleştirilecek dosyaların bazı içeriklerinin birbirini aştığı durumlar mevcutsa, bu tür işlemlerle verilerinizi daha verimli kullanabilirsiniz. how parametresi ile iç içe geçen ve/veya dışlayarak birleştirme yapabilirsiniz. Örneğin, how='inner' kullanırsanız sadece her iki DataFrame’de bulunan ortak veriler alınır.

Ayrıca, birden fazla dosyayı birleştirmeden önce kabaca bir analiz ve düzenleme yapmak, verilerinizi o dosyaların birleşimi sonrası daha tutarlı ve anlamlı bir hale getirecektir. Bu işlemler için groupby() ve agg() gibi fonksiyonları kullanarak verilerinizi gruplandırabilir ve topluca işlem yapabilirsiniz.

Sonuç

Python ile CSV dosyalarını birleştirmek, veri analizi ve yönetimi için son derece önemli bir beceridir. Bu yazıda, pandas kütüphanesi kullanarak farklı yöntemlerle CSV dosyalarını nasıl birleştirebileceğinizi öğrendiniz. Verileri birleştirme sürecinde karşılaşılabilecek sorunların üstesinden gelmek için bazı teknikler ve ipuçları sunduk.

Okuduğunuz yazıda öğrendiğiniz yöntemleri kendi projelerinizde uygulamaktan çekinmeyin. Verilerinizi daha iyi analiz edebilmek ve yönetebilmek için bu yöntemler oldukça değerlidir. Gerçekleştiriyorken karşılaşabileceğiniz problemleri aşmak ve yol alabilmek için sürekli denemeye ve öğrenmeye devam edin.

Python’la çalışırken, kullanıcı topluluğunun sunduğu kaynakları ve destekleri de unutmayın. Daima yeni bilgiler edinmek, daha fazla deneyim kazanmak ve başkalarının deneyimlerinden faydalanmak, yazılım geliştirme yolculuğunuzda size yardımcı olacaktır. CSV dosyalarını birleştirmek ve veri yönetiminde bir adım öne geçmek için bu teknikleri kullanmaya başlayın!

Scroll to Top