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)
在这里我有一个字的数据帧。我想找到一个数据框,在那里我解开了文章,包括标题和作者专栏。
要找到一个工作目录中的所有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))
你需要做一些票友工作获得标题和作者列,这取决于你有信息。也许在txt
或filename
之前使用正则表达式?
非常好,非常适合作为文本阅读。我如何将文件名包含在列中? – jfkoehler
刚编辑我的答案,并补充说! –
您可以使用'files
安德鲁,非常感谢。实际上,我能够根据您的建议将文本列入清单,但很难将其作为可以整理文本的数据框。 – jfkoehler