2016-12-15 1 views
-1

Я пытаюсь написать синтаксис в SPSS для изменения значений. Когда я пытаюсь прочитать мой набор данных, он может прочитать первые 243 записей, но терпит неудачу с ошибкой чтения:UnicodeDecodeError при чтении набора данных SPSS с python

UnicodeDecodeError: 'utf8' codec can't decode byte 0xc3 in position 253: unexpected end of data 

Мой код:

BEGIN PROGRAM. 
import json, re, spss 

spss.StartDataStep() 
datasetObj = spss.Dataset() 
for i in range(len(datasetObj.cases)): 
    print datasetObj.cases[i,0] 
spss.EndDataStep() 

END PROGRAM. 

Как я могу прочитать текущий набор данных без ошибок ?

ответ

0

Я не вижу, что ошибка в этом заключается в V24. 0xc3 - это капитал A с тильдой, но, похоже, код ожидает utf-8. Это письмо будет C383 в utf-8.

Вы работаете в режиме Unicode или в режиме кодовой страницы (SHOW UNICODE)? Если кодовая страница, какой у вас язык (SHOW LOCALE). Какая версия статистики и какая платформа?

Если вы не в Юникодном режиме, попробуйте изменить его с помощью SET UNICODE ON или с помощью меню «Редактирование»> «Параметры»> «Язык».

Кроме того, где именно возникает ошибка? Должна быть обратная связь с отображением ошибок. Изменение кода для этого
х = datasetObj.cases [я, 0]
печать х

сделать расположение ошибки понятнее.

+0

Unicode «Кодовая точка» A с тильдой (Ã) - 'U + 00C3'. Однако ошибка OP говорит «0xc3», которая является частичным шестнадцатеричным кодом UTF-8. Удалите '0x', и вы останетесь с' c3'; а не по характеру. Ã в кодировке UTF-8 - 'C383' или лучше:' 0xC3 0x83'. Аналогично, капитал O с инсультом (Ø) равен '0xC3 0x98'. Вывод: код UTF-8 '0xC3' всегда сопровождается другим кодом. Просто '0xC3' не является символом, поэтому его нельзя декодировать. '0xC3' используется для расширенных буквенных букв. [Этот список] (http://www.fileformat.info/info/charset/UTF-8/list.htm) хорош для справки. –

Смежные вопросы