파이썬 리스트에 들어있는 문자열의 인코딩을 모두 변경해서 문자열로 만들고 싶습니다.
조회수 5715회
파이썬 utf-8 인코딩 질문 입니다. 크롤링한 데이터 중 리스트 필드에 담은 데이터를 encode('utf-8')로 인코딩 했는데
['\xe5\xb0\x8f\xe5\xb7\x9d\xe9\x9f\xb3\xe5\xad\x90']
와 같이 딕셔너리 value 리스트 자체를 출력했을때는 hex bytes로 출력 됩니다.
그런데
a[0].encode('utf-8')
로 첫번째 엘리먼트만 인코딩을 하면 제가 크롤링한 일본어로 정상적으로 출력 됩니다. 리스트 안의 모든 요소를 크롤링해온 일본어로 출력되게 하려면 어떻게 해야 할까요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
해결했습니다. 파이썬에서는 인코딩된 리스트 자체를 출력할 경우에는 hex 데이터가 출력 됩니다. 그래서 아래와 같이 리스트 join으로 문자열로 변환해 출력했더니 원하는 결과를 얻었습니다. 제가 사용한 코드는 아래와 같습니다.
name = sel.xpath('//*[@id="performer"]/a/text()').extract() namejoin = [n.encode('utf-8') for n in name] item['name'] = " , ".join(namejoin) print item['name']
코딩 초로라 이것저것 참 힘드네요 ㅠㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력