GNU/Linux >> Belajar Linux >  >> Linux

UnicodeDecodeError:codec 'utf8' tidak dapat mendekode byte 0x9c

http://docs.python.org/howto/unicode.html#tipe-unicode

str = unicode(str, errors='replace')

atau

str = unicode(str, errors='ignore')

Catatan: Ini akan menghapus (mengabaikan) karakter yang dimaksud mengembalikan string tanpa mereka.

Bagi saya ini adalah kasus ideal karena saya menggunakannya sebagai perlindungan terhadap input non-ASCII yang tidak diizinkan oleh aplikasi saya.

Atau: Gunakan metode terbuka dari codecs modul untuk membaca dalam file:

import codecs
with codecs.open(file_name, 'r', encoding='utf-8',
                 errors='ignore') as fdata:

Mengubah mesin dari C ke Python membantu saya.

Mesin adalah C:

pd.read_csv(gdp_path, sep='\t', engine='c')

codec 'utf-8' tidak dapat mendekode byte 0x92 di posisi 18:byte awal tidak valid

Mesinnya adalah Python:

pd.read_csv(gdp_path, sep='\t', engine='python')

Tidak ada kesalahan untuk saya.


Jenis masalah ini muncul untuk saya sekarang karena saya telah pindah ke Python 3. Saya tidak tahu Python 2 hanya menggulung masalah apa pun dengan pengkodean file.

Saya menemukan penjelasan yang bagus tentang perbedaan dan bagaimana menemukan solusi setelah tidak ada yang bekerja untuk saya.

http://python-notes.curiousefficiency.org/en/latest/python3/text_file_processing.html

Singkatnya, untuk membuat Python 3 berperilaku semirip mungkin dengan penggunaan Python 2:

with open(filename, encoding="latin-1") as datafile:
    # work on datafile here

Namun, baca artikelnya, tidak ada solusi yang cocok untuk semua.


Linux
  1. Kesalahan Instalasi Python - Maaf:UnicodeError:lolos tidak didukung tidak dapat memuat modul unicodedata [Terpecahkan]

  2. Python – Tidak Ada File Atau Direktori Seperti Itu Tapi Saya Bisa Melihatnya!?

  3. Bagaimana saya bisa mengatur 'backend' di matplotlib dengan Python?

  1. Bagaimana saya bisa menggunakan dialog peringatan dengan Python di linux?

  2. Tidak dapat menemukan file Python.h saat menginstal Watchman

  3. Bagaimana saya bisa mendapatkan biner dari file .py

  1. Cara menginstal Python di Linux

  2. Bagaimana Cara Memasang Bit Mask Di /dev/zero Sehingga Saya Bisa Mendapatkan Bytes Selain Nol?

  3. Bagaimana saya bisa mengontrol keyboard dan mouse dengan Python?