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!