首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将Python子进程代码中的单个字符串值传递给R代码

如何将Python子进程代码中的单个字符串值传递给R代码
EN

Stack Overflow用户
提问于 2019-11-29 13:52:19
回答 1查看 34关注 0票数 0

我正在尝试使用Subprocess库从Python中运行R代码。我需要从python运行一个.R文件,并传递一个字符串值(args= "INV28338")。我是R的新手,所以不能在R和Python中弄清楚确切的数据类型转换代码。

请帮帮我,如何将Python中的单个字符串/标量值传递给R函数/模型?稍后我将给出这段代码的'Flask REST API‘的形状。

提前谢谢你

Python代码:

代码语言:javascript
运行
复制
import subprocess
command = 'Rscript'
path2script = 'classification_model_code.R'
args = ["INV28338"]
cmd = [command, path2script] + args
x = subprocess.check_output(cmd, universal_newlines=True)
print('The Output is:', x)

R代码:-

代码语言:javascript
运行
复制
myArgs <- commandArgs(trailingOnly = TRUE)
nums = as.numeric(myArgs)
invoice_in_scope<-nums
#Followed by more code 
EN

回答 1

Stack Overflow用户

发布于 2019-11-29 16:41:25

我的脚本test2.R

代码语言:javascript
运行
复制
myArgs <- commandArgs(trailingOnly = TRUE)
nums = as.character(myArgs)
print(nums)

您需要将args作为列表的一部分,因此将其附加到cmd,它就可以正常工作:

代码语言:javascript
运行
复制
import subprocess 
command = 'Rscript' 
path2script = './test2.R' 
args = "INV28338" 
cmd = [command, path2script]
cmd.append(args)
x = subprocess.check_output(cmd, universal_newlines=True) 
print('The Output is:', x)   
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59099378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档