Функция R для сортировки PDF-файлов по папкам на основе их содержимого
Я пытаюсь сортировать pdf-файлы по папкам на основе содержимого pdf и обращаться к нему в базе данных с тремя столбцами: имя_файла, путь_к_папке и идентификатор, чтобы мы знали, кто есть кто в базе данных.
у меня есть этот код
ordenar_documents <- function(pdf_folder, db_file) {
# Read the database into a data frame
folders <- read_excel(db_file, col_types = c("text", "text", "text"))
# Get a list of all PDF files in the folder
pdf_files <- list.files(pdf_folder, pattern = ".pdf$", full.names = TRUE)
# Iterate through each PDF file
for (pdf_file in pdf_files) {
# Extract text from the PDF file
pdf_content <- pdf_text(pdf_file)
# Iterate through each row of the database
for (i in 1:nrow(folders)) {
# Check if the file_name is present in the PDF content
if (grepl(folders$file_name[i], pdf_content)) {
# Get the destination folder
dest_folder <- folders$folder_path[i]
# If the destination folder exists, move the PDF file
if (dir.exists(dest_folder)) {
file.rename(pdf_file, file.path(dest_folder, nom_document))
break
} else {
# Print an error message if the destination folder does not exist
cat(paste0("Error: folder does not exist - ", dest_folder, "\n"))
}
}
}
}
}
и когда я пытаюсь запустить эту функцию, я просто получаю следующее:
Ошибка в if (grepl(folders$file_name[i], pdf_content)) { : длина условия > 1
Есть ли у вас какие-либо советы, чтобы решить эту проблему?