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

如何将结构化大文本文件转换为含ID、DATE、TEXT的DataFrame?

最简处理方案

可以用tidyverse工具链快速实现需求,核心思路是按分隔线分组,再从每组提取对应信息:

步骤1:加载依赖包

library(tidyverse)

步骤2:数据处理代码

# 整理原始数据并提取目标字段
result <- AA %>%
  # 重命名原始列,简化后续操作
  rename(content = `-------------------------------------------------`) %>%
  pull(content) %>%
  # 按分隔线分割为独立区块
  split(cumsum(str_detect(., "^-{51}$"))) %>%
  # 移除仅含分隔线的空区块
  discard(~length(.) == 1) %>%
  # 遍历每个区块提取信息
  map_df(function(block) {
    # 提取ID:匹配10位数字
    id <- str_extract(block[1], "\\d{10}")
    # 提取并转换日期:匹配DD-MM-YYYY格式
    date <- str_extract(block[1], "\\d{2}-\\d{2}-\\d{4}") %>%
      as.Date(format = "%d-%m-%Y")
    # 提取文本:合并区块内除元数据和分隔线外的内容
    text <- block[-c(1, length(block))] %>%
      str_c(collapse = "\n")
    
    tibble(ID = id, DATE = date, TEXT = text)
  })

代码说明

  • 用str_detect识别分隔线(51个连续减号),通过cumsum实现区块分组
  • 正则表达式\\d{10}精准匹配10位ID,\\d{2}-\\d{2}-\\d{4}匹配日期格式
  • 文本内容保留原始换行结构,通过str_c(collapse = "\n")合并多行内容

运行后得到的result就是包含ID、DATE、TEXT三个变量的DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:45:21