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

Susan Sarandon
Lepaskan: 2024-11-03 12:40:31
asal
1049 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan