Bonjour à tous,

Je cherche à lire un fichier rds avec python et il me semble qu'il y a un conflit d'encodage entre python (en utf-8) et le format sous lequel a été sauvé le fichier RDS (latin-1 probablement).
Est ce que l'un d'entre vous a déjà résolu ce problème ? - Code et message d'erreur ci-dessous:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
import rpy2.robjects as robjects
from rpy2.robjects import pandas2ri
pandas2ri.activate()
readRDS = robjects.r['readRDS']
df = readRDS("mon fichier")
df = pandas2ri.ri2py(df)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\marcs\Anaconda3\lib\functools.py", line 803, in wrapper
return dispatch(args[0].__class__)(*args, **kw)
File "C:\Users\marcs\Anaconda3\lib\site-packages\rpy2\robjects\pandas2ri.py", line 150, in ri2py_dataframe
recarray = numpy2ri.ri2py(obj)
File "C:\Users\marcs\Anaconda3\lib\functools.py", line 803, in wrapper
return dispatch(args[0].__class__)(*args, **kw)
File "C:\Users\marcs\Anaconda3\lib\site-packages\rpy2\robjects\numpy2ri.py", line 144, in ri2py_list
res = numpy.rec.fromarrays(o2, names=tuple(names))
File "C:\Users\marcs\Anaconda3\lib\site-packages\numpy\core\records.py", line 577, in fromarrays
arrayList = [sb.asarray(x) for x in arrayList]
File "C:\Users\marcs\Anaconda3\lib\site-packages\numpy\core\records.py", line 577, in <listcomp>
arrayList = [sb.asarray(x) for x in arrayList]
File "C:\Users\marcs\Anaconda3\lib\site-packages\numpy\core\numeric.py", line 531, in asarray
return array(a, dtype, copy=False, order=order)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 32: invalid continuation byte