파이썬 유니코드 변환(스페인어?) 도와주세요

조회수 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 답변

  • 좋아요

    0

    싫어요
    채택 취소하기
    >>> 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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)