2017-10-19 6 views
0

프로그램을 사용하여 틱 데이터를 처리했습니다. 최근에 작업을 중단하고 파일 처리를 시작하자마자 추락했습니다. 공급 업체가 데이터를 렌더링하는 방법에 따라 뭔가가 변경된 것 같습니다.파이썬에서 문자 집합을 디코딩 할 수 없습니다.

그럼 단순히 실행 가정 해 봅시다 :

Traceback (most recent call last): 
    File "C:/Users/b.karjoo/Documents/PycharmProjects/untitled1/test.py", line 4, in <module> 
    c = f.read(1) 
    File "C:\Users\b.karjoo\py3_virt_env\lib\encodings\cp1252.py", line 23, in decode 
    return codecs.charmap_decode(input,self.errors,decoding_table)[0] 
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 1799: character maps to <undefined> 

어떤 제안 :

with open("N:\\2017\\2017-09-28 Daily.CAP") as f: 
    i = 0 
    while True: 
     c = f.read(1) 

나는이 오류가?

답변

1

나는이 문제

with open(filename, encoding="cp437") as file: 

를 해결하기를 희망하지만 파일의 인코딩 형식 하지 CP437 떨어져 그에서하고 사용 메모장 ++ 파일을 볼 경우, 당신은 그것의 인코딩을 확인하실 수 있습니다 뭔가 다른 경우 당신의 숭고한 텍스트를 사용하는 경우

View -> Show Console

Type into field at bottom view.encoding() and it will give you the encoding type.

로 이동

Encoding, which will show the type of encoding.

을 클릭하여 입력

+0

20GB가 너무 크기 때문에 np ++로 파일을 열 수 없습니다. utf8은 같은 오류를줍니다. 그래서 모든 인코딩 옵션을 하나씩 살펴보기 시작했습니다. 마침내 나는 cp437에 의지했다. 그리고 나는 그 오류를 얻지 않고있다. 인코딩이 실제로 cp437인지 확실하지 않지만 작동합니다. – bkarj

+0

그래서 인코딩 = "cp437"로 만들었습니까? –

+0

네, 그게 정확히 내가 한 것입니다 – bkarj