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

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

Sonuç

Yani, artık 'csv' yöntemini nasıl kullanacağınızı ve ayrıca CSV formatında veri okuyup yazacağınızı biliyorsunuz. CSV dosyaları yazılım uygulamalarında yaygın olarak kullanılır çünkü okunması ve yönetilmesi kolaydır ve küçük boyutları onları işleme ve iletim için nispeten hızlı hale getirir.

CSV modülü, kolayca okuyup yazmanıza olanak tanıyan çeşitli işlevler ve sınıflar sağlar. Yetkiliye bakabilirsiniz Python belgeler ve daha ilginç ipuçları ve modüller bulun. CSV, verileri kaydetmenin, görüntülemenin ve göndermenin en iyi yoludur. Aslında, başlangıçta göründüğü kadar öğrenmesi zor değildir. Ancak biraz pratik yaparak ustalaşacaksınız.

Pandas, CSV dosyalarını okumak için harika bir alternatiftir.

Ayrıca metin dosyalarını ANTLR, PLY ve PlyPlus gibi kitaplıklarla ayrıştırmanın başka yolları da vardır. Hepsi ağır ayrıştırma işlemlerini gerçekleştirebilir ve eğer basit String işlemleri işe yaramazsa kullanabileceğiniz düzenli ifadeler vardır.

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