Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membaca Fail CSV UTF8 dengan Aksara Beraksen dalam Python?

Bagaimana untuk Membaca Fail CSV UTF8 dengan Aksara Beraksen dalam Python?

Patricia Arquette
Lepaskan: 2024-11-02 21:57:30
asal
282 orang telah melayarinya

How to Read UTF8 CSV Files with Accented Characters in Python?

Membaca Fail CSV UTF8 dengan Python

Membaca fail CSV yang mengandungi aksara beraksen boleh mencabar dalam Python kerana sokongan ASCIInya yang terhad. Artikel ini meneroka penyelesaian kepada masalah ini, menangani "UnicodeDecodeError" yang dihadapi semasa cuba membaca fail sedemikian.

Pembaca CSV Mesra Unikod

Untuk mengendalikan aksara beraksen, kami memerlukan pembaca CSV yang menyokong pengekodan Unicode. Kod berikut mengubah suai pembaca CSV standard:

<code class="python">def unicode_csv_reader(unicode_csv_data, dialect=csv.excel, **kwargs):
    # Decode UTF-8 data into Unicode strings
    csv_reader = csv.reader(unicode_csv_data, dialect=dialect, **kwargs)
    for row in csv_reader:
        yield [unicode(cell, 'utf-8') for cell in row]</code>
Salin selepas log masuk

Pengekod UTF-8

Penyelesaian asal salah menggunakan pengekodan pada rentetan bait dan bukannya rentetan Unikod. Kod di bawah membetulkan kesilapan ini:

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

Contoh Penggunaan

Kini kami boleh membaca fail CSV yang dikodkan UTF8 dengan yakin seperti berikut:

<code class="python">filename = 'output.csv'
reader = unicode_csv_reader(open(filename))

# Iterate through the rows, fields
for field1, field2, field3 in reader:
    print field1, field2, field3 </code>
Salin selepas log masuk

Nota tentang Data Input Pengekodan

Ingat bahawa penyelesaian yang disediakan menganggap data input sudah berada dalam pengekodan UTF8. Jika ini tidak berlaku, anda boleh menggunakan kaedah penyahkod untuk menukarnya kepada UTF8 sebelum menghantarnya kepada pembaca CSV.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Fail CSV UTF8 dengan Aksara Beraksen dalam Python?. 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