파이썬 유니코드 변환(스페인어?) 도와주세요
조회수 758회
{"cc": "st","name": "S\u00e3o Tom\u00e9 and Pr\u00edncipe"}
위의 딕셔너리처럼 어떤 사이트에서 정보를 가져왔더니 \u00e3
처럼 나와있더라구요 인터넷에 처보니까
스페인어 같은데 어떻게 변환해야하나요?
{"cc": "st","name": "S\u00e3o Tom\u00e9 and Pr\u00edncipe"}
이것을
{"cc": "st","name": "São Tomé and Príncipe"}
이렇게 변환하려면 어떻게 해야하나요?
그리고 \u00e
이런 형태를 뭐라고 부르나요?
1 답변
-
>>> l= {"cc": "st","name": "S\u00e3o Tom\u00e9 and Pr\u00edncipe"} >>> print(l) {'cc': 'st', 'name': 'São Tomé and Príncipe'}
변환할 필요 없습니다. 표현만
"\u00e3'
처럼 했을 뿐이지,"ã"
문자가 그 자리에 있습니다.유니코드문자열.encode('unicode-escape')
을 하면,u+4자리(16진수)숫자
로 문자가 변경되어 나오는 걸 확인할 수 있습니다.포르투갈어네요.
- 감사합니다 ^^ 김재민 2019.7.2 23:29
- 아마 json 파일 데이터일 것 같은데, pd.read_json 으로 읽어서 처리하면, 잘 될 거에요. nowp 2019.7.3 01:21
- 아 한 번 해봐야겠네요 그냥 런시키니까 변환이 안 돼서 당황했는데 김재민 2019.7.3 08:37
- test = {'cc': 'ci', 'name': "C\u00f4te d'Ivoire"} test2 = {'cc': 'ci', 'name': "C\\u00f4te d'Ivoire"} print test print test2 이런식으로 선언해서 프린트했는데 {'cc': 'ci', 'name': "C\\u00f4te d'Ivoire"} 둘 다 이렇게 나오더라구요 pandas사용하지 않고 애초에 크롤 할 때부터 제대로 문자열이 갖춰서 들어오게끔 하려면 어떻게 해야되나요? 김재민 2019.7.3 08:55
- print test['cc'], test2['name'] 하면 잘 나오지 않나요? nowp 2019.7.3 12:06
- 네 안 나오더라구요 {u"cc": u"ci", u"name": u"C\u00f4te d'Ivoire"} 이렇게 유니코드 지정이 되어있어야 test['name']을 호출 했을 때 변환 돼서 나오네요 ㅜㅜ 김재민 2019.7.3 13:22
- 아. 그렇군요. 파이썬 2.7 은 유니코드 스트링과 스트링을 구분하게 되어 있어서 그렇습니다. 왠만하면 파이썬 3를 사용하시기 바랍니다. 유니코드 관련처리가 훨씬 쾌적합니다. nowp 2019.7.3 16:29
- 제가 업무때문에 2.7을 써야되는데 제상황에서는 어떻게 변환해야할까요...? 김재민 2019.7.4 15:23
- 애초에 크롤 되어 들어올 때부터 형변환이 되게하려면 어떻게 해야할까요? 김재민 2019.7.4 15:23
댓글 입력