如何从Python脚本调用R Markdown编织函数

时间:2019-02-17 23:29:21

标签: python r r-markdown

我有一个Python脚本,可以创建多个.Rmd文件,并且我希望有一种方法可以将它们自动转换为.html,而无需在RStudio中手动编织每个文件。我大概花了大约4个小时来研究和尝试不同的选项,尽管我设法通过

调用.R脚本来使其工作

subprocess.Popen(['Rscript', '--vanilla', 'rmd2html.R'], shell=False)

然后进行编织

rmarkdown::render("dicionarioNew.Rmd", "html_document")

由于某种原因,它不使用UTF-8(我需要),并且不能轻易地允许我存储程序已运行的次数(为每个html文件指定不同的名称是必需的)。

1 个答案:

答案 0 :(得分:0)

您的标题问题已在您的问题正文中得到回答,但您目前的实施方式无法满足您的更多具体需求:

  1. 如何使用UTF-8渲染.Rmd
  2. 如何使用自定义文件名输出将.rmd呈现为html

我建议您尝试逐一找出答案。

但是,作为对该问题的一般回答,我建议您考虑使用Rscript命令来运行自定义R脚本,该脚本根据the source of rmd2html.R来执行所需的操作。您也可以使用R -e在Python脚本中执行一行或几行以字符串形式硬编码的R代码。

如果要在python中进一步介绍,有很多选项可使用sweave,rmarkdown,static和其他R包分别在块或文件级别进行渲染。 给出一个有关您要完成的工作的更具体的示例,某个人也许可以帮助您指出这些选择中的哪一个最适合您的用例。