You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中批量提取多PDF指定信息并整合结果?

批量处理PDF提取信息的解决方案

我来帮你把单个PDF的提取逻辑封装成可复用的函数,再批量处理所有off_开头的数据框,最后把结果整合到一个统一的数据框里,具体实现如下:

步骤1:封装单个数据框的提取函数

把你之前的单文件提取逻辑打包成函数,这样可以重复调用,同时自动关联对应账号:

extract_pdf_info <- function(df, df_name) {
  # 从数据框名称中提取账号(匹配开头的数字部分)
  acc_num <- str_extract(df_name, "^off_(\\d+)") %>% str_remove("^off_")
  
  # 定义提取所需信息的正则表达式
  protec_per_reg <- "Protected\\sP\\w+\\sof"
  Arr_Fee_reg <- "^The\\sArrangement\\sF\\w+"
  Fix_inter_reg <- "Fixed\\sI\\w+\\sR\\w+"
  Bench_rate_reg <- "Benchmark\\sR\\w+\\sthat"
  
  # 筛选第3页中匹配任意正则的行
  filtered_df <- df %>%
    filter(page_id == 3, 
           str_detect(text, protec_per_reg) | 
             str_detect(text, Arr_Fee_reg) | 
             str_detect(text, Fix_inter_reg) | 
             str_detect(text, Bench_rate_reg))
  
  # 提取数值(支持小数)
  extracted_nums <- str_extract(filtered_df$text, "\\d+\\.?\\d+")
  
  # 处理NA值:替换为带%的数值(针对保护比例这类带百分号的字段)
  na_indices <- is.na(extracted_nums)
  if (any(na_indices)) {
    extracted_nums[na_indices] <- str_extract(filtered_df$text[na_indices], "\\d+%")
  }
  
  # 整理成结构化的行数据,明确字段名
  result <- tibble(
    Account_Number = acc_num,
    Protected_Percentage = extracted_nums[1],
    Arrangement_Fee = extracted_nums[2],
    Fixed_Interest_Rate = extracted_nums[3],
    Benchmark_Rate = extracted_nums[4]
  )
  
  return(result)
}

步骤2:批量处理所有off_开头的数据框

自动识别环境中所有off_开头的数据框,逐个调用提取函数,最后合并成汇总数据框:

# 获取所有以off_开头的数据框名称
off_df_names <- ls(pattern = "^off_")

# 初始化列表存储每个数据框的提取结果
all_results <- list()

# 遍历处理每个数据框
for (df_name in off_df_names) {
  current_df <- get(df_name)
  current_result <- extract_pdf_info(current_df, df_name)
  all_results[[df_name]] <- current_result
}

# 合并所有结果为一个汇总数据框
final_summary_df <- bind_rows(all_results)

# 查看最终整合后的结果
print(final_summary_df)

额外优化说明

  • 给提取的字段加上了明确的名称,避免后续混淆各项信息;
  • 账号提取逻辑适配了你命名数据框的规则(off_+文件名),自动匹配对应PDF的账号;
  • NA值处理更精准,只针对有缺失的位置替换,避免不必要的操作;
  • 如果你的PDF存在匹配行顺序不一致的情况,可以在筛选后增加排序逻辑(比如按正则匹配的优先级排序),确保数值对应正确的字段。

内容的提问来源于stack exchange,提问作者SAJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:22:41