Python ile CSV Dosyalarıyla Çalışma Örneği

Giriş

CSV (Comma-Separated Values), verilerin saklandığı basit bir dosya formatıdır. Bu formatın popülaritesi, hem insan tarafından okunabilir olmasından hem de birçok veri işleme aracı ve programlama dili tarafından kolayca işlenebilir olmasındandır. Python, CSV dosyalarıyla çalışmayı kolaylaştıran güçlü bir kütüphane sunar: csv. Bu yazıda, Python ile CSV dosyalarına nasıl erişeceğinizi, verileri nasıl okuyup yazacağınızı ve bazı pratik örnekler ile açıklamalar yapacağım.

Python CSV Kütüphanesi ile Temel Bilgiler

csv modülü, CSV dosyalarını okuyup yazarken kullanabileceğiniz çok yönlü bir araçtır. Bu modül, verileri satır satır okuma ve yazma yeteneği sunarak, farklı veri yapılarını kolayca CSV formatına dönüştürmenizi sağlar. Aynı zamanda, herhangi bir delimitör kullanarak dosyalarınızı yapılandırma imkânı verir.

CSV dosyası çalıştırmak için Python ortamınızı hazırlamanız yeterlidir. Python 3 ile gelen csv modülü, herhangi bir ek yükleme gerektirmeden kullanılabilir. Dosya işlemleri ile birlikte sıklıkla kullanılan bu kütüphane, otomasyon ve veri analizi projelerinde sıkça başvurulan bir yöntemdir. CSV dosyaları ile çalışırken temel yöntemleri bilmek, veri setleriyle verimli bir şekilde çalışmanızı sağlar.

Ayrıca, csv modülü ile birlikte kullanabileceğiniz bazı ek modüller mevcut. Örneğin, pandas kütüphanesi, daha karmaşık veri analizi işlemleri için güçlü bir araç sunar. Ancak bu yazıda csv modülüne odaklanacağız ve temel uygulamalarla ilerleyeceğiz.

CSV Dosyalarını Okuma

CSV dosyasını okumak için öncelikle dosyayı açmanız gerekecek. Python’un yerleşik open() fonksiyonu ile dosya açılır ve csv.reader ile okuyucu oluşturulur. Aşağıda örnek bir kod parçası ile bunu gösterelim:

import csv

# CSV dosyasının yolu
file_path = 'dataset.csv'

# Dosyayı okuma işlemi
with open(file_path, mode='r', newline='') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

Yukarıdaki kod, belirtilen CSV dosyasını açar ve içeriğini satır satır ekrana yazdırır. csv.reader, her bir satırı bir liste olarak temsil eder. Bu nedenle, for row in reader: döngüsü ile her bir satırı rahatlıkla işleyebilirsiniz. Dosya yolu değiştirilerek farklı dosyalar üzerinde deneyler yapabilirsiniz.

CSV dosyasının başlık satırını almak isterseniz, next() fonksiyonunu kullanarak okuyucuyu bir kerede bir satır ileri alabilirsiniz:

import csv

file_path = 'dataset.csv'
with open(file_path, mode='r', newline='') as file:
    reader = csv.reader(file)
    header = next(reader)  # Başlık satırını al
    print('Başlıklar:', header)

CSV Dosyalarına Veri Yazma

CSV dosyasına veri yazmak için de benzer şekilde csv.writer kullanılır. Aşağıda yeni bir CSV dosyası oluşturup örnek veri eklediğimiz bir kod parçası bulunmaktadır:

import csv

# Yeni bir CSV dosyası oluşturma ve veri yazma
file_path = 'output.csv'
with open(file_path, mode='w', newline='') as file:
    writer = csv.writer(file)

    # Başlıkları ekle
    writer.writerow(['Ad', 'Yaş', 'Şehir'])
    # Örnek veriler ekle
    writer.writerow(['Ege', 28, 'İstanbul'])
    writer.writerow(['Ali', 30, 'Ankara'])
    writer.writerow(['Zeynep', 25, 'İzmir'])

Bu kod, output.csv adında yeni bir dosya oluşturur ve içerisine başlık satırıyla birlikte birkaç satır veri ekler. writerow() metodu kullanılarak her bir veri satırı dosyaya eklenir. Dosya kapatıldığında, veriler dosyada kalıcı hale gelir.

CSV dosyasına birden fazla veri eklemek isterseniz, writerows() metodunu kullanabilirsiniz. Bu metod, birden fazla satırı aynı anda yazmanıza olanak tanır:

import csv

file_path = 'output_multiple.csv'

# Örnek veri listesi
veri = [
    ['Ege', 28, 'İstanbul'],
    ['Ali', 30, 'Ankara'],
    ['Zeynep', 25, 'İzmir']
]

with open(file_path, mode='w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['Ad', 'Yaş', 'Şehir'])  # Başlık
    writer.writerows(veri)  # Tüm verileri ekle

CSV Dosyalarını Manipüle Etme

CSV dosyaları ile sadece okuma ve yazma işlemleri yapmakla kalmayıp, aynı zamanda verileri manipüle etmek de mümkündür. Okunan veriler üzerinde filtreleme, dönüştürme veya veri tiplerini değiştirme gibi işlemler gerçekleştirebilirsiniz. Aşağıda, okunmuş bir CSV dosyasındaki verileri filtreleyen bir örnek bulunmaktadır:

import csv

file_path = 'output.csv'

# 30 yaşından büyük kişileri filtreleme
with open(file_path, mode='r', newline='') as file:
    reader = csv.reader(file)
    next(reader)  # Başlık satırını geç
    for row in reader:
        if int(row[1]) > 30:  # Yaş kontrolü
            print(row)

Bu kod, daha önce oluşturduğumuz output.csv dosyasındaki kişileri kontrol eder. Eğer bir kişinin yaşı 30’dan büyükse, o kişinin tüm bilgilerini ekrana yazdırır. Böylece verileri daha anlamlı bir biçimde analiz etmek mümkün olur.

Anlık verileri analiz etmek için CSV dosyasını okuyarak verileri liste halinde saklamak ve daha sonra bu liste üzerinde kompozisyonlar yaparak işlemler gerçekleştirmek çok kullanışlıdır. Bunun için genel liste yöntemlerini ve fonksiyonlarını kullanarak verileri detaylı bir şekilde savaşını planlayabilirsiniz.

CSV ile Veri Çekme ve Yazma Örneği

CSV dosyaları, kullanışlı ve erişilebilir bir veri kaynağı olduğu için datanın dışarıdan alınması ve dışarıya verilmesi konusunda da sıklıkla kullanılır. Aşağıda hem okuma hem de yazma işlemini bir araya getiren bir örnek bulunmaktadır:

import csv

input_file = 'dataset.csv'
output_file = 'filtered_output.csv'

# Yaşı 30'dan küçük olanları yeni bir CSV dosyasına yazma
with open(input_file, mode='r', newline='') as infile:
    reader = csv.reader(infile)
    with open(output_file, mode='w', newline='') as outfile:
        writer = csv.writer(outfile)
        writer.writerow(['Ad', 'Yaş', 'Şehir'])  # Başlık satırı
        for row in reader:
            if int(row[1]) < 30:
                writer.writerow(row)  # Şartı sağlayanları yaz

Bu uygulama, belirli kriterlere bağlı olarak verileri bir dosyadan çekip başka bir dosyaya yazmanın güzel bir örneğini temsil eder. Klasik dosya okuma ve yazma işlemleri ile birleştirildiğinde, CSV dosyaları üzerinden etkili veri akışları oluşturabilirsiniz.

CSV dosyaları, büyük veri setlerini basit bir şekilde temsil edebilme becerileri sayesinde özellikle veri bilimi ve makine öğrenimi alanında çokça tercih edilmektedir. Bu sayede, farklı kaynaklardan elde edilen verileri toplayıp analiz etmek Sudorn Maximum data loading için önemli bir yol oluşturur.

Sonuç

Bu yazıda, Python ile CSV dosyaları üzerinde nasıl çalışmalar yapabileceğinizi öğrendiniz. CSV'nun sunduğu basitliği ve işleme gücünü kullanarak veri setlerinizi kolayca yönetebilir, analiz edebilir ve farklı formatlara dönüştürebilirsiniz. Okuma, yazma ve verileri manipüle etme konularında edindiğiniz bilgiler, veri bilimi ve yazılım geliştirme süreçlerinizde size fayda sağlayacaktır.

Yeni projelerinizde bu bilgileri değerlendirerek, CSV dosyalarıyla daha fazla deney yapmayı ve Python’un sunduğu yetenekleri keşfetmeyi unutmayın. Her zaman yeni bilgileri öğrenmeye açık olun ve bu bilgileri uygulamalarınıza yansıtarak gelişiminizi sürdürün.

Python ve CSV dünyası hakkında daha fazla bilgi almak için yeni yazılarımı takip edebilir ve deneyimlerinizi yorumlarda paylaşabilirsiniz. Unutmayın, her yeni öğrenim, geliştirdiğiniz projelere değer katacaktır!

Scroll to Top