Web sitemizde size en iyi deneyimi sunmak için çerezleri kullanıyoruz. Hangi çerezleri kullandığımız hakkında daha fazla şey öğrenmek için Gizlilik
Onayla
Türker UZUNTürker UZUN
  • VERİ ANALİZİ
    • Veri Analiz Aşamaları
    • Pandas
    • CRM Analitiği
    • Makine Öğrenmesi
    • Ölçümleme Problemleri
    • Özellik Mühendisliği
    • Tavsiye Sistemleri
    • BI Araçları
  • LLM – AI
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Reading: Python CSV Okuma ve Dil Kodlama Sorunları
Paylaş
Aa
Türker UZUNTürker UZUN
Aa
  • VERİ ANALİZİ
  • LLM – AI
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Ara...
  • VERİ ANALİZİ
    • Veri Analiz Aşamaları
    • Pandas
    • CRM Analitiği
    • Makine Öğrenmesi
    • Ölçümleme Problemleri
    • Özellik Mühendisliği
    • Tavsiye Sistemleri
    • BI Araçları
  • LLM – AI
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Follow US
Türker UZUN > Blog > Algoritma-Programlama > Python Blog > Python CSV Okuma ve Dil Kodlama Sorunları
Algoritma-ProgramlamaPython BlogPython Veri AnaliziVeri Analizi

Python CSV Okuma ve Dil Kodlama Sorunları

3 Min Read
Paylaş
3 Min Read
Python Programlama Dersleri, Python Blog, Python Programlama Örnekleri

Python ile bir proje geliştirirken algoritmalardan ve geliştirmelerden çok özellikle veri analizi ile ilgileniyorsanız en çok başınızı ağrıtan konular dil kodlama sorunları ve veri tiplerinin değişimi sorunları olacaktır.

“Türkçe karakter sorunu” gerçekten insanı proje geliştirirken sinir eden bir sorun tipidir. Verinizi analiz etmeden önce temizleme, sınıflandırma, düzenleme, karakter setleri vb. bir çok işlemden geçirmeniz gerekiyor ve bu bir de Türkçe karakterler ile oluşmuş bir data deseni ise işiniz daha zor olacak diyebilirim.

Karşılaştığım tüm kaynaklarda sadece utf-8 ya da sadece iso8859-1 kullanarak tek satır ile sorunun çözümleneceğine dair bilgi verildiğini gözlemledim ancak öyle olmuyor. Lafı çok uzatmadan aşağıda bir iki örnek ile dil kodlamalarında sorun yaşanan bazı datalar için deneyebileceğiniz bir yol daha paylaşacağım.

Öncelikle excel veri okumasında çok fazla dil kodlama ve veri tipi değişikliği ile karşılaşmıyorsunuz. Ancak veri analizi yapacaksanız ve büyük veri ile ilgilenecekseniz excel 1.5 milyon adetten fazla kaydı tutmadığı için sorun yaşarsınız. Aynı zamanda .xlsx in okuma ve yazma hızları da içinde stil paketleri dahil olduğu için oldukça uzun sürmektedir.

Örneğin 50k bir veri için excel okuma ve yazma süreleri bilgisayar performansına göre değişse de yaklaşık 30-40 saniye civarlarındadır. Ancak aynı veriyi CSV olarak okuttuğunuzda bu süre 2-3 saniyeye kadar düşecektir. Tam da bu noktada CSV datalarındaki okuma sorunları ile karşılaşıyoruz.

Çözümü için şöyle bir yol izleyebilirsiniz ve buradaki koşulları çoğaltabilirsiniz. Genelde utf-8 in sorunları çözdüğü söylenir ancak BOM kaydedilmiş verilerde kullandığım etiketi kullanmanız gerekir. Dil kodlamasını notepad++ tarzı programlar ile kontrol edebilirsiniz. Tek bir CSV okuma yöntemi belirlerseniz bu kısımda data yüklemesi yaptığınızda hata almanız olası. Türkçe karakterler için aşağıdaki iki kodlama denemesi büyük ölçüde sorununuza yardımcı olacaktır diye düşünüyorum, istisnaları dediğim gibi genişletebilirsiniz. Farklı bir görüşü olan bilgilendirmek isteyen varsa yorum olarak paylaşabilir.

def VeriOku(data):
    if ".csv" in data:
        import chardet
        with open(f'uploads/{data}', 'rb') as f:
            sonuc= chardet.detect(f.readline())
        try:
            df=pd.read_csv(f'uploads/{data}', sep=";",encoding = 'utf-8-sig', dtype=str)
        except:
            df=pd.read_csv(f'uploads/{data}', sep=";", encoding = 'windows-1254', dtype=str) 
        
    if ".xlsx" in data:
        df=pd.read_excel(f'uploads/{data}',dtype=str)

    df.drop_duplicates(inplace=True)
    df.dropna(thresh=3,axis=1,inplace=True)
    ... burada temel işlemleri yapabilirsiniz 

    return df

Veriyi okuduktan sonra veri tipi dönüşümlerini toplu bir şekilde nasıl yaparız, bir sonraki yazımda değineceğim.

Umarım faydalı olur.

ETİKETLER: CSV BOM karakter, Python Blog, Python CSV Okuma, Python Türkçe Karakter Sorunu, utf8 bom karakter sorunu
Editor Haziran 24, 2021
Paylaş
Whatsapp Whatsapp LinkedIn Email Copy Link

Son Yazılar

  • LangChain Tool Tanıtımı (Kategorik)
  • Flowise Tool Node Tanıtımı
  • Flowise – Hazır Chatflow Akışları
  • Flowise – Hangi Node Ne Zaman Kullanılır?
  • Flowise Eğitimi – Node’ları Tanıyalım

Takip Et

Sponsor Linkler

İlginizi Çekebilir

BI AraçlarıVeri Analizi

Qlik Sense Measure Örnekleri

BI AraçlarıVeri Analizi

Qlik Sense İleri Seviye Fonksiyon Cheat Sheet & Kullanım Senaryoları

BI AraçlarıVeri Analizi

Qlik Sense – 100 Temel Fonksiyon

BI AraçlarıVeri Analizi

Qlik Sense Cheat Sheet (2025)

Türker UZUNTürker UZUN
Takip Et

Veri Analizi, ETL Süreçleri, Makine Öğrenimi, Doğal Dil İşleme Projeleri, Python Dersleri, Python Blog, Teknoloji Yazarı, AI Agents

Removed from reading list

Undo