pyshp UnicodeDecodeError 문제 해결

최신 버 전(2.1.0)의 pyshp 로 shp 파일 의 records 를 분석 할 때:

records = sf.records()
records 에 중국어 필드 가 포함 되 어 있 으 면 오류 가 발생 합 니 다.

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 0: invalid continuation byte
이것 은 디 코딩 의 문제 입 니 다.해결 방법 은 버 전 을 1.2.12 로 낮 추 면 됩 니 다.records 안의 중국어 필드 는 다시 디 코딩 해 야 하지만 결 과 는 분명 합 니 다.
최신 공식 문 서 를 자세히 읽 지 않 았 습 니 다.마지막 으로 유 니 코드 and Shapefile Encodings 설명 이 있 습 니 다.
왜냐하면 처음에 내 가 쓴 것 은:

sf = shapefile.Reader('data/2009/2009.shp')
최신 버 전 은 인 코딩 방식 을 직접 설정 할 수 있 습 니 다.이렇게 하면 됩 니 다.

sf = shapefile.Reader('data/2009/2009.shp', encoding='gbk')
pyshp UnicodeDecodeError 문 제 를 해결 하 는 이 편 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기