Python 将R的Plotly导入烧瓶

Python 将R的Plotly导入烧瓶,python,flask,bioinformatics,Python,Flask,Bioinformatics,目前我了解如何将python模块导入Flask,例如下面的模块“myfunctions”正在导入,并且正在调用其中的函数 from flask import Flask, render_template, request from myfunctions import printtext app = Flask(__name__) @app.route("/") def hello(): return render_template('echo.html') 但是,如何导入用Plot

目前我了解如何将python模块导入Flask,例如下面的模块“myfunctions”正在导入,并且正在调用其中的函数

from flask import Flask, render_template, request
from myfunctions import printtext
app = Flask(__name__)

@app.route("/")
def hello():
    return render_template('echo.html')

但是,如何导入用Plotly for R命令编写的R脚本呢?这是用同样的原理做的,还是你不能导入一些不是“Pythonic”的东西?我们是否需要从我们的web应用程序以某种方式将数据导出到它?

快速回答是否,您不能将R代码作为Python模块导入。但是,有一些方法可以将R脚本编织到Python中。我将在这里快速介绍几个:

1)使用bash运行两个不同的脚本。

这是集成用不同语言编写的脚本的一种非常常见的方法:

#! /usr/bin/bash
python mypythonscript.py > data.txt
Rscript myrscript.r -i data.txt -o final_results.txt
echo "All Done!"
2)从Python内部调用R脚本

有两种方法可以做到这一点,第一种是使用
os.system

import os
print('Do things in python here')
# Now call the R script
os.system('Rscript myrscript.r')
或使用
子流程
模块:

import subprocess
print('Do things in python here')
# Now open a subprocess
p = subprocess.Popen(['Rscript', 'myrscript.r'], stdout=subprocess.PIPE)
p.wait()
data = p.stdout.read()
print(data)
3)使用
rpy将R代码直接嵌入Python代码中

我对这个软件包没有太多的经验,所以我将向您介绍这个软件包的文档: