다시 한번 입력이 빌어 먹을 유니 코드 - 지옥 ... 한숨 = (유니 코드 혼란 # 3423435
이 두 파일은 다음과 같습니다
with open('kreise_tmp.geojson') as f:
jdata = json.loads(f.read())
:
$ file *
kreise_tmp.geojson: ASCII text
pandas_tmp.csv: UTF-8 Unicode text
내가 이런 첫 번째 파일을 읽어
pandas_data = pd.read_csv(r'pandas_tmp.csv', sep=";")
:
은이 같은 두 번째 파일을 읽을 수
지금 문자열 안에 무엇이 체크 아웃 :
>>> jdata['features'][0]['properties']['name']
u'Kreis Euskirchen' # a unicode string?
>>> pandas_data['kreis'][0]
'Kreis D\xc3\xbcren' # not a unicode string?
왜 파일 유니 코드 문자열은 "ASCII 텍스트"에서 "UTF-8 유니 코드 텍스트"파일에서 문자열 단지 일반 문자열과 문자열은?
'kreise_tmp.geojson' 및'pandas_tmp.csv'의'hexdump'를 첨부하십시오. 또한 스펙에 따르면 json 형식에는 asci가 아닌 기호를 사용할 수 없습니다. 그래서 json은 아마 같은'\ xc3'을 포함하고 있지만'ü'에로드됩니다. 파일을 여는 동안 인코딩을 지정해야한다고 생각합니다.'pd.read_csv'에 encoding param이 있는지 확인하십시오. 수동으로'bytes'를 utf8로 변환 할 필요가 없는지 확인하십시오. – deathangel908
어떤 버전의 파이썬입니까? 파이썬 3.6으로 업그레이드하십시오. –
@ deathangel908 JSON에는 비 ASCII 기호 만 포함 할 수 있습니다. http://json.org/ - "* 모든 유니 코드 문자 * ..." – melpomene