[파이썬] JSON의 "유니코드 디코드 에로:"cp 932"~"오류 처리
일어난 일
파이톤이 기뻐서 출력으로 100개의 자연 언어 처리를 했을 때.
Mac로 두드린 원본 코드를 GitHub로 높여서 Windows를 만질 때git clone으로 시작하고 싶습니다
json 파일만 읽는 중 다음과 같은 오류가 발생했습니다.
for line in f:
UnicodeDecodeError: 'cp932' codec can't decode byte 0x85(以下略)
????컨디션
Macbook
Python 3.8.0
Windows 10
Python 3.8.5
소스 코드
# coding: utf-8
import gzip
import json
#正規表現使うためのライブラリ
import re
def search_UK():
with gzip.open('chart3/jawiki-country.json.gz',mode='rt') as f:
for line in f:
json_load = json.loads(line)
if json_load['title'] == 'イギリス':
return json_load['text']
#findall(pattern, string) 正規表現にマッチする部分文字列を全て探しだしリストとして返します。
result = re.findall(r'^(.*\[\[Category:.*\]\].*)$',search_UK(),re.MULTILINE)
for line in result:
print(line)
찾아봤는데..
Windows 환경에서 기본 문자 인코딩은 인 것 같습니다.
Python에서 문자 인코딩을 지정할 때
4
# coding: utf-8
이렇게 쓰면 돼요. Mac에서는 그렇게 움직이지만 Windows는 그렇지 않은 것 같아요.해결책
json 파일을 연 for문에서 오류가 발생했기 때문입니다
4
with gzip.open('chart3/jawiki-country.json.gz',mode='rt',encoding = 'utf-8') as f:
를 열면 utf-8로 변경됩니다.그래서 순조롭게 움직였다!!!
끝말
일반적으로 이런 문자 코드와 환경 구조는 걸려 넘어지겠지...
Reference
이 문제에 관하여([파이썬] JSON의 "유니코드 디코드 에로:"cp 932"~"오류 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/mikky/articles/01b1999d70b018c5849a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)