首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R的pdftools库中传递数组

在R的pdftools库中传递数组
EN

Stack Overflow用户
提问于 2016-08-19 11:41:13
回答 2查看 429关注 0票数 0

我正在尝试转换多个pdf文件到excel版本的,以便通过vba,我可以操纵文本,并找到一些具体的数字。我所写的代码是:

代码语言:javascript
复制
library("pdftools")
setwd("C:/Users/mohit.bansal/Desktop/CSL")
filenames <- list.files(pattern = "*.pdf", all.files = TRUE )
filenames
txt <- pdf_text(filenames[1])
write.table(txt, file = paste(filenames[1], ".xls", sep = ""), sep = " ")
txt <- pdf_text(filenames[2])
write.table(txt, file = paste(filenames[2], ".xls", sep = ""), sep = " ")
txt <- pdf_text(filenames[3])
write.table(txt, file = paste(filenames[3], ".xls", sep = ""), sep = " ")

在这里,我将所有pdf文件名传递到数组名文件名中,然后逐个传递文件名,将它们转换为excel。我想要的是独立于最后的重复代码行。假设我在文件夹中有25个文件,我需要将这些行写25次。我有任何可以一次传递所有名字的代码行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-19 12:06:43

代码语言:javascript
复制
library(pdftools)

setwd("C:/Users/mohit.bansal/Desktop/CSL")

filenames <- list.files(pattern = "*.pdf", all.files = TRUE )

for (fname in filenames) {
  txt <- pdf_text(fname)
  write.table(txt, file = paste(fname, ".xls", sep = ""), sep = " ")
}

但是,控制台中的help("for")将提供关于如何使用for循环的足够信息。

使用*apply系列函数的“问题”是,将结果转储回环境中有一个副作用(即使只是暂时的)。即使是purrrr::walk()也会返回数据,但至少它这样做是看不见的(并且返回原始数据时没有修改)。

票数 1
EN

Stack Overflow用户

发布于 2016-08-19 11:48:31

代码语言:javascript
复制
lapply(filesnames, function(i) 
   write.table(pdf_text(i), file = paste(i, ".xls", sep = ""), sep = " "))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39038199

复制
相关文章

相似问题

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