使用参数从Python调用R脚本

2024-10-03 23:20:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带有代码的r脚本:

args = commandArgs(trailingOnly=TRUE)
myData <- read.csv(file=args[0])

我想用GUI运行这个程序,并用python代码提供一个choosen csv文件

^{2}$

但不幸的是,这不起作用。我得到这个错误,但不知道是什么错。在

  File "c:\Users\name\.vscode\extensions\ms-python.python-2019.2.5558\pythonFiles\lib\python\ptvsd\_vendored\pydevd\_pydev_bundle\pydev_monkey.py", line 444, in new_CreateProcess
    return getattr(_subprocess, original_name)(app_name, patch_arg_str_win(cmd_line), *args)
FileNotFoundError: [WinError 2] The system cannot find the file specified

我不明白为什么找不到这个文件。在


Tags: 文件csv代码name脚本truereadline
2条回答

正如评论中建议的,检查

  • 你的路径是正确的,不包含空格或奇怪的字符
  • 文件确实存在于正确的位置

…如果没有帮助,您可以尝试使用subprocess.run而不是subprocess.call。在

我对python一无所知,所以我不能帮你,但是你的Rscript调用了参数的第0个元素,它只是一个空字符。在

R从1开始索引。在

如果我的剧本是:

args <- commandArgs(trailingOnly = TRUE)
print(args[0])

它会返回:

^{pr2}$

你的脚本应该是:

args <- commandArgs(trailingOnly = TRUE)
MyData <- read.csv(file = args[1])

另外,如果这就是你的整个Rscript,那么一旦Rscript关闭,'MyData'就会消失。如果要在R中创建文件,则需要使用:

write.table(<whatever>)

为你的数据提供适当的参数。在

相关问题 更多 >