Расшифруйте ошибочный байт 0xb0, используя rpy2 rpy2.robjects.vectors.DataFrame, обратную косую черту - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь импортировать объект Rdata, именованный список.Большинство объектов в этом списке работают хорошо.Но один элемент выдает мне ошибку.

Когда я пытаюсь создать кадр данных панды из rpy2.robjects.vectors.DataFrame, используя:

SecondObject = rpy2.robjects.pandas2ri.ri2py_dataframe(r[Name][i][j][k])

, я получаю эту ошибку: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 34: invalid start byte

Ошибка вызвана текстом в строке 131, столбце 2, есть этот текст:

'Long forward passes (span angle 90\xb0)'

type(r[Name][i][j]) gives:
rpy2.robjects.vectors.DataFrame

Второй столбец этого конкретного кадра данных выглядит так:

r[Name][i][j][1]
Out[255]: 
R object with classes: ('character',) mapped to:
<StrVector - Python:0x13220e888 / R:0x7fa430ea3600>
['Air chal..., 'Ground c..., 'Ground c..., 'Air chal..., ..., 'Challeng..., 'Air chal..., 'Dribbles..., 'Tackles ...]

r[Name][i][j][1][129] succeeds, but when I try 130 I do get: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 34: invalid start byte

Все, что япопробовал с декодированием, а кодирование не сработало.

Когда я просто даю python эту команду, python понимает символ из R.:

b = "Long forward passes (span angle 90\xb0)"

b
Out[258]: 'Long forward passes (span angle 90°)'

Кто-нибудь, кто может мне помочь, что делать?

...