2016-09-08 2 views
1

CSV 파일에서 읽고 데이터를 XML 파일에 쓰려고합니다. 나는 만남 :UnicodeDecodeError : 'ascii'코덱이 CSV를 읽음으로 바이트를 디코딩 할 수 없습니다.

UnicodeDecodeError: 'ascii' codec can't decode byte 0x8a in position 87: ordinal not in range(128) 

내 질문에, 이런 종류의 오류를 무시하고 데이터 세트를 계속 처리하는 가장 좋은 방법은 무엇입니까? 내 파일에 # -*- coding: utf-8 -*-을하지만

+0

입력을 올바르게 디코딩합니다. 바이트로 읽은 다음'input.decode ("utf-8")'(입력이 utf-8 인 경우)를 수행하십시오. – syntonym

답변

0

당신은 코덱 CSV 열어 시도 할 수 있습니다 도움이되지 않았다 : 다른 유사한 질문을 읽은 후, 추가 않았다 각 행은 '\ n'을 문자열이 포함 된 것을 감안할 때

import codecs 
codecs.open(file_name, 'r', 'utf8') 

을 트로프 선을 반복 할 때 line.rstrip()을 적용해야합니다.

참고 : 다른 오류가 발생할 수 있으므로 값을 str로 변환하지 마십시오.

+0

Thanks @ Boris, 제안을 시도합니다 – user1195192

+0

'\ n'은 두 번 이상 두통을 줬습니다. – zipa

+0

이것은 제가 지금 읽고있는 방법입니다 : open ('myFile.csv', 'rb') as ifile : 독자 = csv.reader (ifile)행 단위 열 (열거 형) (리더) : – user1195192

관련 문제