Python'da CSV Dosyası Nasıl Okunur ve Ayrıştırılır
Yerleşik csv modülünü kullanarak Python'da CSV dosyalarını nasıl okuyacağınızı ve ayrıştıracağınızı öğrenin. Listeler, sözlük okuyucular ve özel sınırlayıcılar olarak okuma konusunda uzmanlaşın.
Genel Bakış
CSV (Virgülle Ayrılmış Değerler), tablo halindeki veri kümelerini depolamak için her yerde bulunan bir dosya formatıdır. Veritabanlarını içe aktarırken, e-tabloları dışa aktarırken veya günlükleri indirirken CSV okumak temel bir beceridir. Python, CSV dosyalarını pandalar gibi üçüncü taraf kitaplıklara ihtiyaç duymadan kolayca ayrıştırmak için özel, yüksek düzeyde optimize edilmiş yerleşik bir "csv" modülü içerir.
'csv.reader' işlevi bir dosyayı satır satır okur ve onu ayrıştırır, her satırı virgül ayırıcıya göre böler ve dize listelerini döndürür. CSV dosyanızda bir başlık satırı (ör. sütun etiketleri) varsa, genellikle "csv.DictReader" kullanılması tercih edilir. Her satırı, anahtarların sütun etiketleri olduğu bir sözlüğe otomatik olarak ayrıştırarak kodu çok daha okunabilir ve sütun sırasındaki değişikliklere karşı dayanıklı hale getirir.
CSV dosyalarını açarken, `open()` ifadesinde `newline=""` değerini ayarlamak en iyi uygulamadır. Bu, Python'un belirli işletim sistemlerinde ayrıştırma hatalarına yol açabilecek otomatik yeni satır çevirileri yapmasını engeller. Ayrıca, özel karakterleri işlemek için her zaman `encoding="utf-8"` seçeneğini belirtin.
Kod ve Yürütme Çıkışı
Bu komut dosyası, örnek bir CSV dosyasının yazılmasını ve hem csv.reader hem de csv.DictReader kullanılarak okunmasını gösterir.
import csv
# Writing a sample CSV file
sample_content = [
["name", "role", "salary"],
["Alice", "Developer", "90000"],
["Bob", "Manager", "110000"]
]
with open("employees.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerows(sample_content)
# 1. Reading CSV using csv.reader (List representation)
print("--- Using csv.reader ---")
with open("employees.csv", "r", newline="", encoding="utf-8") as file:
reader = csv.reader(file)
header = next(reader) # Skip header row
print("Header:", header)
for row in reader:
print(f"Employee: {row[0]} | Role: {row[1]}")
# 2. Reading CSV using csv.DictReader (Dictionary representation)
print("\n--- Using csv.DictReader ---")
with open("employees.csv", "r", newline="", encoding="utf-8") as file:
dict_reader = csv.DictReader(file)
for row in dict_reader:
print(f"Name: {row['name']} | Role: {row['role']} | Salary: {row['salary']}")--- Using csv.reader ---
Header: ['name', 'role', 'salary']
Employee: Alice | Role: Developer
Employee: Bob | Role: Manager
--- Using csv.DictReader ---
Name: Alice | Role: Developer | Salary: 90000
Name: Bob | Role: Manager | Salary: 110000Adım Adım Uygulama
- Yerleşik csv modülünü komut dosyanıza aktarın.
- Dosya olarak open("employees.csv", "r", newline="", encoding='utf-8") kullanarak CSV dosyasını açın.
- Dosya satırlarını dize listeleri olarak ayrıştırmak için dosya nesnesini csv.reader(file) öğesine iletin.
- Satırları, sütun başlıklarına karşılık gelen sözlük eşlemeleri olarak ayrıştırmak için csv.DictReader(file) öğesini kullanın.
Sıkça Sorulan Sorular
Bir CSV dosyasını açarken neden newline = "" ayarlamalıyım?
newline = "" ayarının Python'un satır sonu karakterlerini dinamik olarak değiştirmesini önleyerek csv modülünün farklı işletim sistemlerinde csv tarzı yeni satırları doğru şekilde ayrıştırabilmesini sağlar.
Virgül yerine sekme veya noktalı virgül kullanan bir CSV dosyasını nasıl ayrıştırırım?
Okuyucu işlevine özel bir sınırlayıcı iletebilirsiniz: csv.reader(file, sınırlayıcı = "\t") veya csv.reader ( dosya, sınırlayıcı = ";").
İlgili Konular
Python'da dosyaları nasıl okuyacağınızı öğrenin. With open ifadesi, okuma satırı, okuma satırları ve dosya istisnalarını güvenli bir şekilde yönetme konusunda uzmanlaşın.
Python'da Bir Dosyaya Nasıl YazılırPython'da dosyalara nasıl metin yazılacağını öğrenin. Güvenli içerik yöneticileriyle yazma ("w") ve ekleme ("a") modları arasındaki farkı öğrenin.
Önerilen Python Kaynakları
İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.
Python Dosya G/Ç
Python'da dosyaları nasıl okuyacağınızı ve yazacağınızı öğrenin. Kaynak sızıntısı olmadan dosya işlemlerini güvenli bir şekilde yürütmek için open(), read(), write() ve bağlam yöneticilerinde uzmanlaşın.
Python Dosya İşlemleri Hile Sayfası
Python'da dosyaları okumak ve yazmak için hızlı başvuru. Açık modlarda, içerik yöneticilerinde ve satır satır okumada ustalaşın.
Python vs JavaScript: Hangi Programlama Dili En İyisidir?
Python ve JavaScript arasında kapsamlı bir karşılaştırma. Sözdizimi farklılıklarını, performansı, kullanım örneklerini (arka uç ve ön uç) ve kodlama örneklerini keşfedin.