0Pricing
Python Academy · Ders

csv.reader ile CSV Okuma

CSV dosyalarını satır satır okuyun ve sütunlara indeksle erişin.

csv.reader ile CSV Okuma, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

Giriş

Python'un csv modülü, CSV dosyalarının karmaşıklıklarını ele alır: tırnak içine alınmış alanlar, ayraçlar ve farklı satır sonları.

CSV dosyası açma

with open('data.csv', newline='') as f: önerilen yöntemdir — newline='' satır sonlarını csv modülünün ele almasını sağlar.
import csv, io
sample = 'name,age,city\nAlice,30,NYC\nBob,25,LA'
reader = csv.reader(io.StringIO(sample))
for row in reader:
    print(row)

csv.reader temelleri

csv.reader(f), her satırın dizelerden oluşan bir liste olduğu satır yineleyicisini döndürür.
import csv, io
data = 'a,b,c\n1,2,3\n4,5,6'
for row in csv.reader(io.StringIO(data)):
    print(row)

Başlığı atlama

next(reader), başlık satırını atlar. Alternatif olarak sütunlara adlarıyla erişmek için csv.DictReader kullanın.
import csv, io
data = 'name,age\nAlice,30\nBob,25'
reader = csv.reader(io.StringIO(data))
header = next(reader)  # skip
for row in reader:
    print(row)

Özel ayraç

csv.reader(f, delimiter=';'), noktalı virgülle ayrılmış dosyaları okur. Herhangi bir tek karakterli ayraçla çalışır.
import csv, io
data = 'a;b;c\n1;2;3'
for row in csv.reader(io.StringIO(data), delimiter=';'):
    print(row)

Tırnak içine alınmış alanları ele alma

csv.reader, tırnak içine alınmış alanları otomatik olarak ele alır: 'Alice, Jr.' tek bir alan olarak kalır.
import csv, io
data = 'name,note\n"Smith, John","great guy"'
for row in csv.reader(io.StringIO(data)):
    print(row)

csv.DictReader

DictReader, başlık satırını anahtar olarak kullanarak her satırı bir OrderedDict'e (veya 3.8 ve sonraki sürümlerde sıradan bir sözlüğe) dönüştürür.
import csv, io
data = 'name,age\nAlice,30\nBob,25'
for row in csv.DictReader(io.StringIO(data)):
    print(row['name'], row['age'])

Tür dönüştürme

CSV değerleri her zaman dizedir. Açıkça dönüştürün: int(row['age']), float(row['price']).
import csv, io
data = 'item,price\napple,1.5\nbanana,0.75'
for row in csv.DictReader(io.StringIO(data)):
    print(row['item'], float(row['price'])*2)

Kodlamayı ele alma

open(file, encoding='utf-8-sig'), UTF-8 BOM'u (Excel tarafından oluşturulan CSV'lerde yaygındır) ele alır.
# with open('data.csv', encoding='utf-8-sig', newline='') as f:
#     reader = csv.DictReader(f)
print('encoding demo')

Büyük CSV dosyaları

csv.reader tembel çalışır — her seferinde bir satır okur. Dosyanın tamamını belleğe yüklemeniz gerekmez.
import csv, io
data = '\n'.join(f'{i},{i*2}' for i in range(1000))
reader = csv.reader(io.StringIO(data))
print(sum(int(row[0]) for row in reader))

Biçimi algılama

csv.Sniffer().sniff(sample), ayraç ve tırnaklama biçimini otomatik olarak algılar.
import csv, io
data = 'a|b|c\n1|2|3'
sniff = csv.Sniffer().sniff(data[:100])
print('delimiter:', sniff.delimiter)
for row in csv.reader(io.StringIO(data), dialect=sniff):
    print(row)

Hızlı kontrol

Bir CSV dosyasını open() ile açarken hangi parametreyi her zaman ayarlamalısınız?

Özet

csv.reader: dize listeleri olarak satırlar. DictReader: sözlükler olarak satırlar. Her zaman newline='' ile açın. Excel dosyaları için kodlamayı ele alın. Türleri açıkça dönüştürün.

Devam edin

Böyle devam edin! Sonraki derse geçin.

Sıkça Sorulan Sorular

“csv.reader ile CSV Okuma” dersi ücretsiz mi?

Evet — “csv.reader ile CSV Okuma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“csv.reader ile CSV Okuma” dersinde ne öğreneceğim?

CSV dosyalarını satır satır okuyun ve sütunlara indeksle erişin. Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“csv.reader ile CSV Okuma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. JSON Kodlama ve Kod Çözme
  2. İç İçe JSON Yapılarını İşleme
  3. csv.reader ile CSV Okuma
  4. csv.DictWriter ile CSV Yazma
← Python Academy Sayfasına Dön