2017-12-20 12 views
1

내가 작업 할 문자열 목록이 있습니다. PYTHON에서 일부 문자열에 특수 문자가 포함되어있는 경우가 있습니다. üäö 등등. 스트링의리스트에 문자열로 대체함으로써 데이터 획득 후의 치료문자열 목록에서 하위 문자열 바꾸기 또는 디코딩

  1. :

    I 2 해결책을 갖는다.

  2. 파이썬의 목록에서 얻은 내용을 디코딩합니다.

    lista_names_d = 'XC3 \ xbcneburg Bockelsberg 2 \ L'L \ XC3 \ xbcneburg Bockelsberg 1 ','L \ XC3 \ xbcneburg Bockelsberg 3 ','L \ XC3 \ xbcneburg Bockelsberg 5 ']

나는 시도 this

lista_names_d = [name.replace('\xc3\xbc', 'ü') for name in lista_names_d] 

이것은 내가 this

을 시도

아무것도를하지 않습니다3210

your_unicode_string = "L\xc3\xbcneburg Kaltenmoor BHKW 1" 
correct_unicode_string = your_unicode_string.encode('latin1').decode('utf8') 

오류 : 가 UnicodeDecodeError가 'ASCII'코덱 위치 1 바이트 0xc3를 디코딩 할 수 범위 내에 있지 서수 (128)

어떤 도움 매우

+0

있는이 코드는 적절한 악센트를 인쇄? 'sys.stdin.encoding' 시도하십시오 – Steven

+1

당신 db 무엇입니까? – Steven

+1

파이썬 2 또는 3? – Steven

답변

0

어떻 만족되고 기능을 사용하여 unicode?

lista_names_d = [ 'L\xc3\xbcneburg Bockelsberg 2', 'L\xc3\xbcneburg Bockelsberg 1', 'L\xc3\xbcneburg Bockelsberg 3','L\xc3\xbcneburg Bockelsberg 5' ] 

for item in lista_names_d: 
    print(unicode(item, 'utf-8')) 
+0

나에게 다음과 같은 오류를 제공 추측 그래서 나는 비행선을 사용 : 역 추적 (마지막으로 가장 최근 통화) : 파일 "", 2 호선을 UnicodeEncodeError에, : 'ascii'코덱은 문자 'u \ xfc'를 위치 1에 인코딩 할 수 없습니다. 서수가 범위 내에 없습니다 (128) – Mayra

+1

코드의 첫 번째 줄에이 줄을 추가하십시오. \t 소스 헤더에 다음을 선언하십시오. :'# - * - coding : utf-8 - * -' – Klaymen

+0

나는 그것을 추가했다. 불행히도 여전히 오류! UnicodeEncodeError : 'ascii'코덱은 문자 '1'을 '\ xfc'로 인코딩 할 수 없습니다. 서수가 범위 내에 없습니다 (128) – Mayra

0

확인 encoding 문서 : 공식 문서에서

for city in lista_names_d: 
    print city.decode('utf8') 
# Lüneburg Bockelsberg 2 
# Lüneburg Bockelsberg 1 
# Lüneburg Bockelsberg 3 
# Lüneburg Bockelsberg 5 

: 당신은`latin1`으로 확인

>>> u = unichr(40960) + u'abcd' + unichr(1972) # Assemble a string 
>>> utf8_version = u.encode('utf-8')    # Encode as UTF-8 
>>> type(utf8_version), utf8_version 
(<type 'str'>, '\xea\x80\x80abcd\xde\xb4') 
>>> u2 = utf8_version.decode('utf-8')   # Decode using UTF-8 
>>> u == u2          # The two strings match 
True 
+0

이 방법이 효과가 있습니까?트레이스 백 (가장 최근의 마지막 콜) : 파일 "", 라인 2, UnicodeEncodeError : 'ascii'코덱은 문자 '1'을 'xfc'로 인코딩 할 수 없습니다. 서수는 범위 내에 없습니다 128) – Mayra