首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何积累readr::read_lines_chunked的结果?

如何积累readr::read_lines_chunked的结果?
EN

Stack Overflow用户
提问于 2019-12-13 08:12:03
回答 1查看 115关注 0票数 1

我通过以下方式使用readr::read_lines_chunked

代码语言:javascript
复制
if(!require(readr)) install.packages("readr", repos = "http://cran.us.r-project.org")

mytb <- NULL
read_lines_chunked(file="/tmp/huge.xml", chunk_size=10, callback = function(xml, pos) {
   // extract values from xml into tmp
   if (is.null(mytb)) {
      users <- as_tibble(tmp)
   } else {
      users <- bind_rows(users, as_tibble(tmp)) 
   }
})

但这不起作用,因为mytb总是以null的身份结束...如何将结果累积到tibble中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-13 08:44:19

我找到了解决方案。此包具有一组包装自定义处理程序的回调处理程序。这就是它的工作原理:

代码语言:javascript
复制
mytb <- read_lines_chunked(file="/tmp/huge.xml", chunk_size=10, callback = DataFrameCallback$new(function(xml, pos) {
   // extract values from xml into tmp
   as_tibble(tmp)
}))

注意tibble装饰器,并返回我想作为rbind拼接在一起的DataFrameCallback$new(...)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59314478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档