>  기사  >  백엔드 개발  >  인코딩 오류 없이 Python으로 UTF-8 CSV 파일을 읽는 방법은 무엇입니까?

인코딩 오류 없이 Python으로 UTF-8 CSV 파일을 읽는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-03 12:40:311052검색

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

Python으로 UTF8 CSV 파일 읽기

문제

Python으로 특수 문자가 포함된 CSV 파일을 읽으려고 하면 예외가 발생합니다. 코드는 인코딩 및 디코딩을 활용하여 ASCII와 UTF-8 사이를 변환하지만 이 접근 방식은 여전히 ​​오류를 발생시킵니다.

해결책

원본 코드는 .encode 메서드를 잘못 사용하여 유니코드 문자열 대신 바이트 문자열입니다. 이 문제를 해결하려면 다음과 같은 단순화된 코드를 활용할 수 있습니다.

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

이 코드는 트랜스코딩 없이 UTF-8로 인코딩된 데이터를 Python 목록으로 효율적으로 읽어옵니다.

위 내용은 인코딩 오류 없이 Python으로 UTF-8 CSV 파일을 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.