I have an .rds file generated in R, which is an S4 object that has multiple slots of data frames in different types (S4, list, chr, etc.) I tried to use load the .rds in python (jupyter notebook) and transfer to pandas.Dataframe(). I used and but got error in both.
Using rpy2:
import rpy2.robjects as robjects
from rpy2.robjects import r, pandas2ri
pandas2ri.activate()
readRDS = robjects.r['readRDS']
df = readRDS(*filepath*)
df = pandas2ri.ri2py_dataframe(df)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-8-9f10fdefc63c> in <module>
----> 1 df = pandas2ri.ri2py_dataframe(df)
~\Anaconda3\lib\site-packages\rpy2-2.9.4-py3.7-win-amd64.egg\rpy2\robjects\pandas2ri.py in ri2py_dataframe(obj)
    188 @ri2py.register(DataFrame)
    189 def ri2py_dataframe(obj):
--> 190     items = tuple((k, ri2py(v)) for k, v in obj.items())
    191     res = PandasDataFrame.from_items(items)
    192     return res
AttributeError: 'RS4' object has no attribute 'items'
Using pyreadr:
result = pyreadr.read_r(*filepath*)
---------------------------------------------------------------------------
LibrdataError                             Traceback (most recent call last)
<ipython-input-45-2ac0e237ec0d> in <module>
----> 1 result = pyreadr.read_r(*filepath*)
~\Anaconda3\lib\site-packages\pyreadr\pyreadr.py in read_r(path, use_objects, timezone)
     38     if timezone:
     39         parser.set_timezone(timezone)
---> 40     parser.parse(path)
     41 
     42     result = OrderedDict()
~\Anaconda3\lib\site-packages\pyreadr\librdata.pyx in pyreadr.librdata.Parser.parse()
~\Anaconda3\lib\site-packages\pyreadr\librdata.pyx in pyreadr.librdata.Parser.parse()
LibrdataError: Unable to read from file
Could I ask if there is a way to load such an .rds file into python, or I must separately load each slot of data frame? Thanks a lot.
