Ank*_*nha 18
正如russellpierce在评论中所建议的那样,网状结构非常简单且非常流畅.
install.packages('reticulate')
Run Code Online (Sandbox Code Playgroud)
之后,我从他们的文档中给出的示例创建了这样的Python脚本.
Python文件:
import pandas as pd
def read_pickle_file(file):
pickle_data = pd.read_pickle(file)
return pickle_data
Run Code Online (Sandbox Code Playgroud)
然后我的R文件看起来像:
require("reticulate")
source_python("pickle_reader.py")
pickle_data <- read_pickle_file("C:/tsa/dataset.pickle")
Run Code Online (Sandbox Code Playgroud)
这给了我早先以pickle格式存储的所有R数据.
你可以在python中加载pickle,然后通过python包rpy2(或类似的)将它导出到R. 完成后,您的数据将存在于链接到python的R会话中.我怀疑你接下来要做的就是使用该会话来调用R并将saveRDS调用到文件或RAM磁盘.然后在RStudio中你可以重新读取该文件.查看R包rJython以及rPython从R触发python命令的方法.
或者,您可以编写一个简单的python脚本来加载Python中的数据(可能使用上面提到的R包之一)并将格式化的数据流写入stdout.然后整个系统调用脚本(包括指定你的pickle的参数)可以用作freadR包中的参数data.table.或者,如果您想保持标准功能,可以使用system(..., intern=TRUE)和的组合read.table.
像往常一样,有很多/很多方法可以给这只特别的猫上皮.基本步骤是:
fread)fread那么您已经完成了).要添加到上面的答案:您可能需要指向不同的 conda env 才能访问 pandas:
use_condaenv("name_of_conda_env", conda = "<<result_of `which conda`>>")
pd <- import('pandas')
df <- pd$read_pickle(paste0(outdir, "df.pkl"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17368 次 |
| 最近记录: |