【问题标题】:Merge 1000 HTML files in R在 R 中合并 1000 个 HTML 文件
【发布时间】:2018-06-08 13:54:22
【问题描述】:

我有 1000 多个 html 文件,我想将它们合并在一起。我在下面提供了我如何做的代码。但它没有得到合并,我得到了空白的 html 文件(合并)。

saveWidget(f1, "f1.html")
saveWidget(f2, "f2.html")
saveWidget(f3, "f3.html")
saveWidget(f4, "f4.html") and so on till saveWidget(f1000, "f1000.html")

合并文件的代码:

    library(htmlwidgets)
    htmlFiles<-list.files("/path/")
    library(htmltools)
    widgets <- list(htmlFiles)
    #fns <- replicate(length(widgets), tempfile(pattern = "widget_", fileext = #".html"))
    #Map(htmlwidgets::saveWidget, widgets, fns)

iframes <- lapply(widgets, function(fn) 
  tags$iframe(
    src = paste0("/path/", fn), 
    style="display:block", 
    height="300", width="1200"
  )  
)
tags$html(
  tags$body(
    iframes
  )
) %>% 
  save_html(tf<<-tempfile(fileext = ".html"))
shell.exec(tf)

提前致谢!

【问题讨论】:

  • 您忘记添加library(htmlwidgets)了吗?如果不是,那么saveWidget 定义在哪里?
  • 嘿抱歉,我编辑了我的问题。

标签: r merge htmlwidgets


【解决方案1】:

你可以的

library(htmltools)
widgets <- list(DT::datatable(mtcars), DT::datatable(USArrests))
fns <- replicate(length(widgets), tempfile(pattern = "widget_", fileext = ".html"))
Map(htmlwidgets::saveWidget, widgets, fns)

iframes <- lapply(fns, function(fn) 
  tags$iframe(
    src = paste0("file:///", fn), 
    style="display:block", 
    height="300", width="1200"
  )  
)
tags$html(
  tags$body(
    iframes
  )
) %>% 
  save_html(tf<<-tempfile(fileext = ".html"))
shell.exec(tf)

【讨论】:

  • 可以按以下方式使用吗? library(htmltools) widgets &lt;- htmlFiles fns &lt;- replicate(length(widgets), tempfile(pattern = "widget_", fileext = ".html")) Map(htmlwidgets::saveWidget, widgets, fns)
  • @user15051990 号使用widgets &lt;- mget(ls(pattern = "^f\\d+$"))
猜你喜欢
  • 2016-12-09
  • 1970-01-01
  • 2017-01-31
  • 2012-04-29
  • 1970-01-01
  • 1970-01-01
  • 2013-04-02
  • 2014-10-14
  • 2017-12-19
相关资源
最近更新 更多