问题描述
我有一个包含多个 html 文件的文件夹,我想将这些文件合并到 R 中的一个文件中。可以合并为一个长文件,或者(理想情况下)一个更花哨的带有目录的文件。
这是为了创建非常简单的文件来重现问题。
library(tablehtml)
x=data.frame(x=c(1,2,3))
y=data.frame(y=c(4,5,6))
tablehtml::write_tablehtml(tablehtml(x),"x.html")
tablehtml::write_tablehtml(tablehtml(y),"y.html")
我发现这个包 http://richardhooijmaijers.github.io/R3port/ 有 html_combine
功能。但是,当我尝试下面的代码时,说这不是原始 html 文件是行不通的。
library(R3port)
html_combine(
combine = getwd(),#or whichever folder the html files are stored at
out = "to.html",toctheme = TRUE,css = paste0(system.file(package = "R3port"),"/style.css"),clean = 0
)
我收到此错误:Error in html_combine(combine = getwd(),out = "to.html",: no raw html files to combine
我对 HTML 的经验很少,正在寻找有关使用此包或任何其他工具来完成任务的指导。结合到 pdf 也应该可以工作(我可以使用 adobe 软件来做到这一点,但需要通过 R 找到一种方法来自动化脚本)。
谢谢
解决方法
似乎包 html_combine
的函数 R3port
期望文件具有 rawhtml
扩展名。您可以像这样保存 rawhtml
而不是 html
文件:
library(tableHTML)
library(R3port)
x=data.frame(x=c(1,2,3))
y=data.frame(y=c(4,5,6))
tableHTML::write_tableHTML(tableHTML(x),"x.rawhtml")
tableHTML::write_tableHTML(tableHTML(y),"y.rawhtml")
然后使用html_combine
得到输出:
html_combine(
out = "to.html",toctheme = TRUE,css = paste0(system.file(package = "R3port"),"/style.css"),clean = 0
)
结果如下: