tidytext从文件夹中读取文件

问题描述:

我正在尝试将一个pdf文件的文件夹读入R中的数据框。我能够使用pdftools库和pdf_text(filepath)来读取单个pdf文件。tidytext从文件夹中读取文件

理想情况下,我可以抓住一系列pdf的作者和标题,然后将其推入一个具有这些列的数据框,以便我可以在文本上使用基本的tidytext函数。

对于单个文件,现在,我可以只使用:

library(pdftools) 
library(tidytext) 
library(dplyr) 
txt <- pdf_text("filpath") 
txt <- data_frame(txt) 
txt %>% 
    unnest_tokens(word, txt) 

在这里我有一个字的数据帧。我想找到一个数据框,在那里我解开了文章,包括标题和作者专栏。

+0

您可以使用'files

+0

安德鲁,非常感谢。实际上,我能够根据您的建议将文本列入清单,但很难将其作为可以整理文本的数据框。 – jfkoehler

要找到一个工作目录中的所有PDF文件,可以使用list.files与参数:然后

all_pdfs <- list.files(pattern = ".pdf$") 

all_pdfs对象将包含所有的文件名字符向量。

然后,您可以设置一个管道来读取所有的PDF文件,并使用带有来自purrr的map函数的tidytext读取它们。如果需要,可以使用map()中的mutate()来为每行注释文件名。

library(pdftools) 
library(tidyverse) 
library(tidytext) 

map_df(all_pdfs, ~ data_frame(txt = pdf_text(.x)) %>% 
    mutate(filename = .x) %>% 
    unnest_tokens(word, txt)) 

你需要做一些票友工作获得标题和作者列,这取决于你有信息。也许在txtfilename之前使用正则表达式?

+0

非常好,非常适合作为文本阅读。我如何将文件名包含在列中? – jfkoehler

+1

刚编辑我的答案,并补充说! –