CSV Dosyası Nasıl Okunur? Python (Modül, Panda Örnekleri)

⚡ Akıllı Özet

CSV dosyaları, tablo halindeki verileri virgülle sütunları ve yeni satırlarla satırları ayıran düz metin olarak saklar. Burada CSV dosyalarını okumayı ve yazmayı öğreneceksiniz. Python Dahili csv modülü ve pandas kütüphanesi kullanılarak.

  • 📄 Ne olduğunu: CSV dosyası, tablo halindeki verileri virgülle ayrılmış düz metin olarak saklar.
  • ???? csv.okuyucu: `csv.reader()` fonksiyonu, bir CSV dosyasından satırları liste olarak okur.
  • 📚 Sözlük Okuyucu: csv.DictReader() her satırı sıralı bir sözlüğe okur.
  • ✍️ csv.writer: `csv.writer()` ve `writerow()` fonksiyonları CSV dosyasına satırlar yazar.
  • ???? Pandalar: `pandas.read_csv()` ve `to_csv()` fonksiyonları CSV dosyalarını tek satırda okur ve yazar.
  • 🤖 Yapay zekâ yardımı: Copilot gibi yapay zeka araçları, CSV dosyalarını anında okuyup yazabilen kodlar üretiyor.

CSV dosyasını okuyun Python

CSV dosyası nedir?

A CSV dosyası tablo halindeki verileri düzenlemek için belirli bir yapı kullanan basit bir düz metin dosyası türüdür. Bir CSV dosyasının standart formatı, yeni satırın bir sonraki satıra başlamak için her satırı sonlandırdığı ve her sütunun satır içinde virgülle ayrıldığı satırlar ve sütun verileriyle tanımlanır.

CSV, kompakt, basit ve genel olduğundan veri alışverişi için yaygın bir formattır. Birçok çevrimiçi hizmet, kullanıcılarının web sitesinden tablo verilerini bir CSV dosyasına aktarmalarına olanak tanır. CSV dosyaları Excel'de açılır ve neredeyse tüm veritabanlarında CSV dosyalarından içe aktarmaya izin veren bir araç bulunur.

CSV Örnek Dosyası

Tablo biçimindeki verilere CSV (virgülle ayrılmış değerler) de denir; kelimenin tam anlamıyla "virgülle ayrılmış değerler". Bu, tablo halindeki verilerin sunumuna yönelik bir metin formatıdır. Dosyanın her satırı tablonun bir satırıdır. Bireysel sütunların değerleri bir ayırıcı sembolle (virgül (,), noktalı virgül (;) veya başka bir sembol) ayrılır. CSV kolayca okunabilir ve işlenebilir Python.

Aşağıdaki Tabloyu dikkate alın

Tablo Verileri

Programlama dili Tasarımcı Ortaya çıktı Uzatma
Python Guido van Rossum 1991 .py
Java james goslin 1995 .Java
C++ Bjarne Stroustrup 1983 .cpp

Bu tabloyu csv'de aşağıdaki gibi temsil edebilirsiniz.

CSV Verileri

Programlama dili, Tasarlayan, Ortaya Çıkan, Uzantı

Python, Guido van Rossum, 1991, .py

Java, James Gosling, 1995, .java

C++, Bjarne Stroustrup,1983,.cpp

Gördüğünüz gibi her satır yeni bir satırdır ve her sütun virgülle ayrılmıştır. Bu bir CSV dosyasının nasıl göründüğüne bir örnektir.

CSV Verilerini İndirin

Python CSV Modülü

Python CSV dosyalarını işlemek için bir CSV modülü sağlar. Verileri okumak/yazmak için CSV'nin satırları arasında geçiş yapmanız gerekir. Belirtilen sütunlardan veri almak için split yöntemini kullanmanız gerekir.

CSV Modülü İşlevleri

CSV modül belgelerinde aşağıdaki işlevleri bulabilirsiniz:

  • csv.field_size_limit – maksimum alan boyutunu döndürür
  • csv.get_dialect – isimle ilişkilendirilen lehçeyi alır
  • csv.list_dialects – kayıtlı tüm lehçeleri göster
  • csv.reader – csv dosyasındaki verileri okur
  • csv.register_dialect – lehçeyi adla ilişkilendirir
  • csv.writer – verileri bir csv dosyasına yazar
  • csv.unregister_dialect – lehçe kaydındaki adla ilişkili lehçeyi siler
  • csv.QUOTE_ALL – Türü ne olursa olsun her şeyi alıntılayın.
  • csv.QUOTE_MINIMAL – Özel karakterli alıntı alanları
  • csv.QUOTE_NONNUMERIC – Sayı değeri olmayan tüm alanları alıntılayın
  • csv.QUOTE_NONE – Çıktıda hiçbir şeyden alıntı yapmayın

Bu eğitimde yalnızca CSV dosyasındaki verileri düzenlemenize, değiştirmenize ve işlemenize olanak tanıyan okuyucu ve yazıcı işlevlerine odaklanacağız.

CSV Dosyası Nasıl Okunur? Python

Aşağıda CSV dosyasını okuma adımları verilmiştir. Python.

) 1 Adım CSV dosyalarından veri okumak için okuyucu nesnesi oluşturmak üzere okuyucu işlevini kullanmanız gerekir.

Okuyucu işlevi, dosyanın her satırını alıp tüm sütunların bir listesini yapmak için geliştirilmiştir. Daha sonra değişken verilerinin olmasını istediğiniz sütunu seçmelisiniz.

Kulağa olduğundan çok daha karmaşık geliyor. Hadi şuna bir göz atalım Python CSV dosyasını okumak için kodu yazdığınızda, csv dosyasıyla çalışmanın o kadar da zor olmadığını öğreneceğiz.

#import necessary modules
import csv
with open('X:\data.csv','rt')as f:
  data = csv.reader(f)
  for row in data:
        print(row)

) 2 Adım Yukarıdaki programı çalıştırdığınızda çıktısı şu şekilde olacaktır:

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']

CSV dosyasını bir Sözlüğe nasıl okuyabilirim? Python

CSV dosyalarını okumak için DictReader'ı da kullanabilirsiniz. Sonuçlar, başlık satırının anahtar, diğer satırların ise değer olduğu bir sözlük olarak yorumlanır.

Aşağıdaki kodu göz önünde bulundurun

#import necessary modules
import csv

reader = csv.DictReader(open("file2.csv"))
for raw in reader:
    print(raw)

Bu kodun sonucu:

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])
OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])
OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

CSV dosyasını bir Sözlüğe okuma

Ve bu şekilde CSV dosyasından veri okumak önceki yönteme göre çok daha kolaydır. Ancak bu, verileri okumanın en iyi yolu değildir.

CSV Dosyası nasıl yazılır? Python

CSV dosyasının nasıl yazılacağı aşağıda açıklanmıştır Python:

CSV dosyasında saklamak istediğiniz bir veri kümesine sahip olduğunuzda, yazar() işlevini kullanmanız gerekir. Verileri satırlar (satırlar) üzerinde yinelemek için writerow() işlevini kullanmanız gerekir.

Aşağıdaki örneği ele alalım. Ayırıcının bir kesme işareti olduğu “writeData.csv” dosyasına veri yazıyoruz.

#import necessary modules
import csv

with open('X:\writeData.csv', mode='w') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    #way to write to csv file
    writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])
    writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])
    writer.writerow(['Java', 'James Gosling', '1995', '.java'])
    writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

Csv dosyasındaki sonuç:

Programming language, Designed by, Appeared, Extension 
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp

CSV Dosyasını içine yaz Python

Pandaları kullanarak CSV Dosyasını Okuyun

Pandas, CSV'yi içe aktarmanıza olanak tanıyan açık kaynaklı bir kitaplıktır. Python ve veri manipülasyonu gerçekleştirin. Pandalar verileri oluşturmanın, işlemenin ve silmenin kolay bir yolunu sunar.

Pandas kütüphanesini pip install pandas komutuyla kurmanız gerekir. İçinde Windows, bu komutu Terminalde Linux'tayken Komut İstemi'nde çalıştıracaksınız.

CSV'yi pandas DataFrame'e okumak çok hızlı ve kolaydır:

#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)

sonucu CSV Pandaları oku örnek:

Programming language, Designed by, Appeared, Extension 
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Çok faydalı bir kütüphane. Yalnızca üç satırlık kodla daha önce elde ettiğiniz sonucun aynısını elde edersiniz. Pandalar CSV'nin ilk satırının sütun adlarını içerdiğini biliyor ve bunları otomatik olarak kullanacak.

Pandaları kullanarak CSV Dosyası Yazma

Pandas ile CSV dosyasına yazmak okumak kadar kolaydır. Burada buna ikna olabilirsiniz. İlk önce aşağıdakilere dayalı DataFrame oluşturmalısınız Python CSV koduna yazın.

from pandas import DataFrame
C = {'Programming language': ['Python','Java', 'C++'],
        'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
        'Appeared': ['1991', '1995', '1985'],
        'Extension': ['.py', '.java', '.cpp'],
    }
df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])
export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored
print (df)

İşte çıktı

Programming language, Designed by, Appeared, Extension
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Ve belirtilen konumda CSV dosyası oluşturulur.

Pandaları kullanarak CSV Dosyası Yazma

SSS

CSV (virgülle ayrılmış değerler) dosyası, tablo halindeki verileri depolayan düz metin bir dosyadır. Her satır bir sütunu temsil eder ve her sütundaki değerler virgüllerle ayrılır.

`csv` modülünü içe aktarın, dosyayı açın ve satırları liste olarak döngüye almak için `csv.reader()` fonksiyonuna iletin. Alternatif olarak, her satırı sözlük olarak okumak için `csv.DictReader()` fonksiyonunu kullanabilirsiniz.

Dosyayı yazma modunda açın, bir `csv.writer()` oluşturun ve her satır için `writerow()` veya birçok satır için `writerows()` işlevini çağırın. Yazıcı, tırnak işaretlerini ve ayırıcıları sizin için halleder.

`csv.DictReader()`, başlık satırını anahtar olarak kullanarak bir CSV dosyasını sıralı sözlüklere okur. Bu, her değere dizin yerine sütun adıyla erişmenizi sağlar.

`pandas.read_csv('file.csv')` fonksiyonunu çağırarak CSV dosyasını tek satırda bir DataFrame'e yükleyebilirsiniz. Pandas, ilk satırı otomatik olarak sütun başlıkları olarak kullanır.

GitHub Copilot gibi yapay zeka asistanları, CSV ve Pandas çağrılarını otomatik olarak tamamlar, okuma ve yazma döngüleri oluşturur ve kısa bir açıklamadan doğru ayırıcı veya tırnak işareti seçeneğini önerir.

Evet. Yapay zeka destekli araçlar, CSV verilerinin ayrıştırılmasını, temizlenmesini ve dönüştürülmesini otomatikleştirebilir, pandas işlem hatları oluşturabilir ve hatalı satırlar veya eksik sütunlar için hata işleme ekleyebilir.

Basit ve hafif okuma ve yazma işlemleri için yerleşik csv modülünü kullanın. Büyük CSV veri kümelerini verimli bir şekilde filtrelemeniz, dönüştürmeniz veya analiz etmeniz gerektiğinde pandas'ı tercih edin.

Bu yazıyı şu şekilde özetleyin: