Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membaca Fail CSV UTF-8 dengan Python Tanpa Ralat Pengekodan?

Bagaimana untuk Membaca Fail CSV UTF-8 dengan Python Tanpa Ralat Pengekodan?

Susan Sarandon
Susan Sarandonasal
2024-11-03 12:40:311050semak imbas

How to Read a UTF-8 CSV File with Python Without Encoding Errors?

Membaca Fail CSV UTF8 dengan Python

Masalah

Apabila cuba membaca fail CSV yang mengandungi aksara khas dengan Python, pengecualian berlaku. Kod ini menggunakan pengekodan dan penyahkodan untuk menukar antara ASCII dan UTF-8, tetapi pendekatan ini masih menghasilkan ralat.

Penyelesaian

Kod asal menggunakan kaedah .encode secara salah dengan menerapkannya pada rentetan bait bukannya rentetan Unicode. Untuk menyelesaikan isu ini, kod ringkas berikut boleh digunakan:

<code class="python">import csv

def unicode_csv_reader(utf8_data, dialect=csv.excel, **kwargs):
    csv_reader = csv.reader(utf8_data, dialect=dialect, **kwargs)
    for row in csv_reader:
        yield [unicode(cell, 'utf-8') for cell in row]

filename = 'da.csv'
reader = unicode_csv_reader(open(filename))
for field1, field2, field3 in reader:
  print field1, field2, field3 </code>

Kod ini membaca data yang dikodkan UTF-8 dengan cekap ke dalam senarai Python tanpa memerlukan transcoding.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Fail CSV UTF-8 dengan Python Tanpa Ralat Pengekodan?. 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