#r
#r
Вопрос:
У меня есть задача прочитать несколько файлов PDF и извлечь верхний и нижний колонтитулы.
Приведенный ниже код помогает мне получить верхний и нижний колонтитулы из одного файла без каких-либо проблем, но я хочу сделать то же самое для нескольких файлов и извлечь данные. Пожалуйста, посоветуйте.
library(pdftools)
library(tm)
#Multiple files in a directory
files<- list.files(pattern='pdf
Ответ №1:
Вы можете попробовать с lapply
:
library(pdftools)
files<- list.files(pattern='pdf
Комментарии:
1. Эй, это удивительно, что он извлекает нужные мне строки, но количество строк на всех страницах разное, возможно ли просто извлечь первую страницу каждого файла PDF в папке. Так что моя следующая задача может быть простой. Если я не приму этот ответ, это работает на данный момент.
2. Вы имеете в виду вот так?
lapply(files, function(x) strsplit(pdf_text(x), "n")[[1]][-5:-24]) -> result
3. Боже, это именно то, что есть, можем ли мы указать этому коду игнорировать пустые строки или пустые строки между ними.
4. Вероятно, лучше задать это как новый вопрос, поскольку каждый вопрос должен быть сосредоточен только на одной конкретной проблеме.
)
#File header and footer extraction
pdf_22 <- pdf_text("Test_List.pdf") %>% str_split("n")
for (i in 1:35) {
yy <- pdf_22[[i]][-5:-24]
}
Ответ №1:
Вы можете попробовать с lapply
:
Комментарии:
1. Эй, это удивительно, что он извлекает нужные мне строки, но количество строк на всех страницах разное, возможно ли просто извлечь первую страницу каждого файла PDF в папке. Так что моя следующая задача может быть простой. Если я не приму этот ответ, это работает на данный момент.
2. Вы имеете в виду вот так?
lapply(files, function(x) strsplit(pdf_text(x), "n")[[1]][-5:-24]) -> result
3. Боже, это именно то, что есть, можем ли мы указать этому коду игнорировать пустые строки или пустые строки между ними.
4. Вероятно, лучше задать это как новый вопрос, поскольку каждый вопрос должен быть сосредоточен только на одной конкретной проблеме.
)
lapply(files, function(x) {
lapply(strsplit(pdf_text(x), "n"), `[`, -5:-24)
}) -> result
result
Комментарии:
1. Эй, это удивительно, что он извлекает нужные мне строки, но количество строк на всех страницах разное, возможно ли просто извлечь первую страницу каждого файла PDF в папке. Так что моя следующая задача может быть простой. Если я не приму этот ответ, это работает на данный момент.
2. Вы имеете в виду вот так?
lapply(files, function(x) strsplit(pdf_text(x), "n")[[1]][-5:-24]) -> result
3. Боже, это именно то, что есть, можем ли мы указать этому коду игнорировать пустые строки или пустые строки между ними.
4. Вероятно, лучше задать это как новый вопрос, поскольку каждый вопрос должен быть сосредоточен только на одной конкретной проблеме.
)
#File header and footer extraction
pdf_22 <- pdf_text(«Test_List.pdf») %>% str_split(«n»)
for (i in 1:35) {
yy <- pdf_22[[i]][—5:—24]
}
Ответ №1:
Вы можете попробовать с lapply
:
Комментарии:
1. Эй, это удивительно, что он извлекает нужные мне строки, но количество строк на всех страницах разное, возможно ли просто извлечь первую страницу каждого файла PDF в папке. Так что моя следующая задача может быть простой. Если я не приму этот ответ, это работает на данный момент.
2. Вы имеете в виду вот так?
lapply(files, function(x) strsplit(pdf_text(x), "n")[[1]][-5:-24]) -> result
3. Боже, это именно то, что есть, можем ли мы указать этому коду игнорировать пустые строки или пустые строки между ними.
4. Вероятно, лучше задать это как новый вопрос, поскольку каждый вопрос должен быть сосредоточен только на одной конкретной проблеме.