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

Susan Sarandon
Lepaskan: 2024-11-03 00:40:29
asal
285 orang telah melayarinya

How to Read a UTF8 CSV File with Accented Characters in Python?

Membaca Fail CSV UTF8 dengan Python

Apabila cuba membaca fail CSV yang mengandungi aksara beraksen dengan Python (khususnya bahasa Sepanyol atau Perancis), isu timbul disebabkan oleh Python sokongan ASCII lalai dalam csvreadernya.

Untuk menangani ini, coretan kod yang diubah suai dicadangkan untuk membaca fail CSV seperti berikut:

<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 = 'output.csv'
reader = unicode_csv_reader(open(filename))
for field1, field2, field3 in reader:
    ...</code>
Salin selepas log masuk

Kod ini menganggap data input sudah berada dalam UTF -8 pengekodan. Jika data input berada dalam pengekodan yang berbeza, pendekatan "transcoding" berikut boleh digunakan:

<code class="python">line.decode('whateverweirdcodec').encode('utf-8')</code>
Salin selepas log masuk

Dengan menggantikan 'whateverweirdcodec' dengan pengekodan yang sesuai, data input boleh ditukar kepada UTF-8 sebelum sedang dibaca oleh csvreader.

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