Python CSV: Elektronik Tabloları Okumak ve Yazmak
Python'da CSV verilerinin nasıl işleneceğini öğrenin. Verimli tablo ayrıştırma için csv.reader, csv.writer ve DictReader/DictWriter'da uzmanlaşın.
Genel Bakış
CSV (Virgülle Ayrılmış Değerler), elektronik tablolardan ve ilişkisel veritabanlarından verileri dışa ve içe aktarmak için her yerde kullanılan bir formattır. CSV dosyaları basit metin dosyaları olduğundan evrensel olarak analitik araçlar, veritabanı platformları ve programlama dilleri tarafından desteklenirler. Python, pandalar gibi üçüncü taraf kitaplıklara ihtiyaç duymadan tablo halindeki verileri ayrıştırmak, yazmak ve değiştirmek için özel olarak optimize edilmiş yerleşik bir "csv" modülüne sahiptir.
CSV modülü iki ana arayüz sağlar: liste tabanlı okuyucular/yazıcılar ve sözlük tabanlı okuyucular/yazıcılar. "csv.reader()" ve "csv.writer()", CSV'deki her satırı bir dize listesi olarak temsil eder; bu basittir ancak sütunlara sayısal dizinlerine göre başvuru yapılmasını gerektirir. Daha sağlam bir yaklaşım için geliştiriciler 'csv.DictReader()' ve 'csv.DictWriter()' kullanır. Bu sınıflar, CSV başlık satırını anahtar olarak kullanarak her satırı bir sözlüğe eşler ve sütunlar yeniden sıralandığında bozulmayan, yüksek düzeyde okunabilir kod üretir.
CSV dosyalarıyla uğraşırken sözdizimi ayrıntıları önemlidir. Farklı programlar farklı sınırlayıcılar (sekmeler veya noktalı virgüller gibi) kullanır ve tırnak işaretlerini veya satır sonlarını farklı şekillerde işler. 'Csv' modülü, bir 'lehçe' parametresi aracılığıyla özel sınırlayıcılar, alıntı kuralları ve kaçış karakterleri tanımlamanıza olanak tanır. Ek olarak, CSV dosyalarını Python'da açarken, farklı işletim sistemlerinde boş satır sorunlarını önlemek için "newline="'' open()' işlevine iletilmesi kritik bir gerekliliktir.
Kod ve Yürütme Çıkışı
DictWriter'ı kullanarak verileri bir CSV dosyasına yazma ve DictReader ile tekrar okuma.
import csv
filename = "employees.csv"
fieldnames = ["id", "name", "department"]
data = [
{"id": "101", "name": "Bob", "department": "HR"},
{"id": "102", "name": "Alice", "department": "Engineering"}
]
# Write dict data to CSV
with open(filename, "w", newline="") as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
print("CSV written successfully.\n--- Reading CSV ---")
# Read CSV data back as dictionaries
with open(filename, "r", newline="") as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(f"Employee {row['name']} works in {row['department']}.")CSV written successfully.
--- Reading CSV ---
Employee Bob works in HR.
Employee Alice works in Engineering.Adım Adım Uygulama
- Finansal analiz için elektronik tablo kayıtlarını dışa aktarma
- Kişi listesi kataloglarını veritabanlarına aktarma
- Hesaplamalı komut dosyalarından istatistiksel çıktıları biçimlendirme
Sıkça Sorulan Sorular
Bir CSV dosyasını açarken neden newline="" belirtmem gerekiyor?
Bu, özellikle Windows platformlarında fazladan boş satırların eklenmesini önlemek için csv modülünün dahili yazıcısı tarafından gereklidir.
Virgül yerine sekme kullanan bir CSV dosyasını nasıl ayrıştırabilirim?
Sınırlayıcı parametresini okuyucuya veya yazıcıya iletebilirsiniz; örneğin, csv.reader(file, ayırıcı='\t').
İlgili Konular
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 JSON AyrıştırmaPython'da JSON verilerini nasıl okuyacağınızı, yazacağınızı ve ayrıştıracağınızı öğrenin. json.loads, json.dumps ve JSON kodlayıcılarını/kod çözücülerini özelleştirme konusunda uzmanlaşın.
Önerilen Python Kaynakları
İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.
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.
Python String Yöntemleri Hile Sayfası
Python dize manipülasyonu için eksiksiz bir başvuru kılavuzu. Dize özelliklerini biçimlendirme, arama, bölme, değiştirme ve denetleme konusunda uzmanlaşı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.