2016-09-28 4 views
0

Я новичок в Python и надеюсь, что кто-то может объяснить мне, что означает сообщение об ошибке.UnicodeDecodeError: кодек 'charmap' не может декодировать байт 0x81 в позиции 55: символьные карты до <undefined>

Чтобы быть конкретным, у меня есть код Python и SPSS, объединенные вместе в Atom, который был создан бывшим коллегой. Теперь, когда бывшего коллегу больше нет, мне нужно запустить код сейчас. Что я сделал, я запустил код из SPSS22.

begin program. 
    import spss,spssaux,imp 
    abcvalid = imp.load_source('abcvalid', "I:/VALIDITY CHECK/Python Library/2016/abcvalid2016.py") 
    import abcvalid 
    abcvalid.fullprocess("9_26_2016","M:/Users/Yli\2016 SURVEY/DOWNLOADS/9_26_2016/","M:/Users/Yli/2016 SURVEY/Legacy15.sav") 
    end program. 

Затем я получил следующее на выходе.

Traceback (most recent call last): 
     File "<string>", line 5, in <module> 
     File "I:/VALIDITY CHECK/Python Library/2016/abcnvalid2016.py", line 2067, in fullprocess 
     dataprep(date,filepath,legacypath) 
     File "I:/VALIDITY CHECK/Python Library/2016/abcvalid2016.py", line 2006, in dataprep 
     emailslower(date,filepath) 
     File "I:/VALIDITY CHECK/Python Library/2016/abcvalid2016.py", line 1635, in emailslower 
     DATASET ACTIVATE comment_data.""".format(date,filepath)) 
     File "C:\PROGRA~1\IBM\SPSS\STATIS~1\22\Python\Lib\site-packages\spss\spss.py", line 1494, in Submit 
     cmdList = spssutil.CheckStr(cmdList) 
     File "C:\PROGRA~1\IBM\SPSS\STATIS~1\22\Python\Lib\site-packages\spss\spssutil.py", line 166, in CheckStr 
     s1 = unicode(mystr,locale.getlocale(locale.LC_CTYPE)[1]) 
     File "C:\Program Files\IBM\SPSS\Statistics\22\Python\lib\encodings\cp1252.py", line 15, in decode 
     return codecs.charmap_decode(input,errors,decoding_table) 
    UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 55: character maps to <undefined> 

Я знаю, что на этом сайте есть похожие вопросы, но вопросы и ответы были слишком сложными для меня, чтобы понять. Если бы кто-то мог мне помочь, я бы очень признателен!

Спасибо заранее!

ответ

0

Трудно быть уверенным в том, что здесь происходит, поскольку существует много кода с этапа, но сообщение об ошибке сообщает вам, что во входном потоке есть недопустимый символ. Код x81 не определен на кодовой странице 1252, которая является кодовой страницей. Это кодовая страница по умолчанию в Западной Европе/США. Программа пытается преобразовать предполагаемую строку кодовой строки в Unicode, так что это не сработает.

Я предполагаю, что вход на самом деле не закодирован cp 1252. Что-то испортилось на текущей кодовой странице статистики или в режиме Unicode. Возможно, вам нужно установить языковой стандарт SPSS-статистики на что-то другое или включить или выключить режим Unicode. См. SET LOCALE и SET UNICODE в Справочнике синтаксиса команд о том, как это сделать.

Если вы можете больше узнать о своем языке и о том, что делает этот код, мы можем предоставить дополнительную информацию.

+0

Благодарим вас за подробное объяснение! Я посмотрю, смогу ли я это исправить. Спасибо!!! – user6655908