Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Membetulkan UnicodeDecodeError Pandas Apabila Membaca Fail CSV?

Bagaimanakah Saya Boleh Membetulkan UnicodeDecodeError Pandas Apabila Membaca Fail CSV?

Patricia Arquette
Patricia Arquetteasal
2025-01-03 21:45:40589semak imbas

How Can I Fix Pandas' UnicodeDecodeError When Reading CSV Files?

Ralat Penyahkodan Ditemui Semasa Membaca Fail CSV dengan Panda

Isu ini timbul apabila membaca fail CSV ke dalam Panda, mengakibatkan ralat berikut:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xda in position 6: invalid continuation byte

Punca asas selalunya disebabkan oleh ketidakkonsistenan dalam pengekodan Fail CSV.

Penyelesaian

Untuk menyelesaikan ralat ini, fungsi read_csv menyediakan parameter pengekodan. Dengan menentukan pengekodan yang sesuai, anda boleh mengarahkan Pandas untuk mentafsir fail dengan betul. Pengekodan yang biasa digunakan termasuk:

  • UTF-8: pengekodan = "utf-8"
  • ISO-8859-1: pengekodan = "ISO-8859-1"
  • Latin-1: pengekodan = "latin"
  • Windows-1252: pengekodan = "cp1252"

Sebagai contoh, jika fail CSV dikodkan dalam ISO-8859-1, anda boleh menggunakan kod berikut:

data = pd.read_csv(filepath, names=fields, encoding="ISO-8859-1")

Menentukan Pengekodan Betul

Jika anda tidak pasti pengekodan yang betul, anda boleh menggunakan alatan seperti enca atau fail untuk menganalisis fail:

  • enca: Menyediakan laporan terperinci tentang pengekodan fail.
  • fail: Memaparkan penerangan ringkas tentang fail, termasuk pengekodannya.

Tambahan Sumber

  • [Dokumentasi CSV Pandas](https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html)
  • [Python CSV Fail Contoh](https://www.pythonprogramming.net/parse-csv-python-file/)
  • [Aksara Unikod dan Pengekodan](https://realpython.com/python-encodings-guide/)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan UnicodeDecodeError Pandas Apabila Membaca Fail CSV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn