我想将使用saveRDS
保存的R中的data.table
导入python。我在python pyreadr
中找到了工作正常的包,但是对于我丢失的一些data.table
来说,它不起作用。我找不到类似的问题,而且我对python还很陌生
MWE将在R中创建一些数据
library(data.table)
df<-data.table(Name="Heilbronn", lon=9.208, lat=49.124, type=c(NA, "bus_station"), north=c(NA, 4.5))
saveRDS(df,"test_dt.r")
saveRDS(na.omit(df),"test_dt_naomit.r")
df<-data.frame(Name="Heilbronn", lon=9.208, lat=49.124, type=c(NA, "bus_station"), north=c(NA, 4.5))
saveRDS(df,"test_df.r")
然后我试着用python阅读这篇文章
import pyreadr
pyreadr.read_r("test_dt.r")
不工作,我得到以下错误
Traceback (most recent call last):
File "<ipython-input-57-383514f95bcb>", line 1, in <module>
result = pyreadr.read_r("../test.r")
File "C:\ProgramData\Anaconda3\lib\site-packages\pyreadr\pyreadr.py", line 47, in read_r
parser.parse(path)
File "pyreadr\librdata.pyx", line 117, in pyreadr.librdata.Parser.parse
File "pyreadr\librdata.pyx", line 142, in pyreadr.librdata.Parser.parse
LibrdataError: Unable to allocate memory
下面这两项工作是我假设的,因为在第一种情况下,没有NA
,而在第二种情况下,它只是一个data.frame
pyreadr.read_r("test_dt_naomit.r")
pyreadr.read_r("test_df.r")
目前没有回答
相关问题 更多 >
编程相关推荐