Dosya Okuma UnicodeDecodeError Hatası

Merhaba Yazbel belgelerinde dosya açma kısmını okuyup uygulama kısmında da 3-5 dosya açıp bu işlemleri kazasız belasız atlattıktan sonra tamam bu oldu dedim. Sonra sıra açılan dosyaları okumaya gelince duvara tosladık tabi ki :slight_smile: .
Hata görseline bakıp yazılan kodu da incelediğinizde hata yada eksiklerin çözümü için nerede ne yapmam gerektiği konusunda yönlendirmenizi rica ediyorum. Teşekkürler.

with open("C:\\Users\\oguzt\\desktop\\deneme\\tahsilat_dosyası.txt",
encoding='utf-8') as ths:
    ths.read()

Merhaba,

Dosyanın içinde neler yazılı?

Halil Pazarlama:120.000 TL
Bursa Pazari: 350.000 TL
Ömercik Ltd.Şti: 75.000 TL

Şöyle deneyin:

with open(
        "C:\\Users\\oguzt\\desktop\\deneme\\tahsilat_dosyası.txt", 
        encoding='cp1254'
) as ths:
    ths.read()

Sn @dildeolupbiten merhaba aslinda daha onceki denemelerimde dosyanin icine giriyordum ve ilk satir gorunuyor ve turkce karakterin altinda SYNTAX ucgeni beliriyordu diger 2 satir gorunurde yoktu fakat dosyayi yeniden uzerine yazinca hata mesajini bu sefer bu sekilde verdi.

Muhtemelen dosya kodlaması ANSI. Bu yüzden dosyayı cp1254 ile okumanız gerekiyor.

Ama dosyanın kodlamasını, Metin Belgesi'nin Farklı Kaydet menu düğmesini kullanarak değiştirirseniz, mesela UTF-8 yaparsanız, dosyayı açmak istediğinizde open fonksiyonunun encoding parametresine utf-8 yazabilirsiniz.

Hata vermeden alt satira gecti dosya acilmadi.

Dosya açıldı, okundu sonra da kapatıldı. Zaten kodlarınızda başka işlemler yapan bir kod parçası yok.
ths.read() yazan satırı print(ths.read()) şeklinde değiştirirseniz, dosya içeriği ekrana yazdırılır.

1 Beğeni

Dosya dediginiz gibi ANSI idi utf-8 yaptim.

Dosya kodlamasini utf-8 yapmama ragmen dosya encoding=‘utf-8’ ile yine de acilmadi. ‘cp1254’ ile sorunsuz acildi tesekkur ederim.

Metin Belgesi’nin Dosya menü basamağındaki Farklı Kaydet menü düğmesini kullanarak dosya kodlamasını UTF-8 yaptıktan sonra, dosyayı farklı bir kodlama ile kaydetmiş olmanız gerekiyor. Eğer kaydetmediyseniz, bir değişiklik yapılmamıştır.

1 Beğeni
with open(path,ensure_ascii=False)

ensure_ascii, open fonksiyonuna ait bir parametre değil. json kütüphanesinin dump fonksiyonu için geçerli bir parametre.

sanirim oyle bir sey oldu dosyayi tekrar utf 8 ile farkli kaydettim cmd ekranini kapatip actim cp1254 u tekrar utf-8 e cevirdim simdi normal calisiyor.

1 Beğeni

Güzel. Tekrar görüşmek üzere o zaman. İyi çalışmalar. ^^