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.
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!