使用python读取SPSS数据集时出现UnicodeDecodeError

使用python读取SPSS数据集时出现UnicodeDecodeError,python,spss,Python,Spss,我试图在SPSS中编写一个语法来修改值。当我尝试读取数据集时,它可以读取前243个条目,但由于读取错误而失败: 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

我试图在SPSS中编写一个语法来修改值。当我尝试读取数据集时,它可以读取前243个条目,但由于读取错误而失败:

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.

如何读取当前数据集而不出错?

在V24中尝试此操作时,我没有看到错误。0xc3是带波浪号的大写字母A,但代码似乎需要utf-8。那封信是utf-8的C383

您处于Unicode模式还是代码页模式(显示Unicode)?如果是代码页,您的区域设置是什么(显示区域设置)。什么版本的统计数据和什么平台

如果未处于Unicode模式,请尝试在启用“设置Unicode”或通过“编辑>选项>语言”更改为该模式

另外,错误究竟发生在哪里?应该有一个错误显示的回溯。将代码更改为此
x=datasetObj.cases[i,0]
打印x

使错误的位置更清晰。

带波浪号(Ã;)的A的Unicode“代码点”是
U+00C3
。但是,OP的错误显示为
0xc3
,这是一个部分十六进制UTF-8代码。去掉
0x
,剩下的就是
c3
;不是一个角色本身。xc3;在UTF-8中,编码是
C383
或更好的:
0xC3 0x83
。同样,带有笔划(Ø;)的大写字母O是
0xC3 0x98
。结论:UTF-8代码
0xC3
后面总是跟着另一个代码。Just
0xC3
不是字符,因此无法解码
0xC3
用于扩展拉丁字母集。这是很好的参考。