如何从PDF文件名中提取日期并写入数据集?
从PDF文件名提取日期并生成日期列
你的文件名里已经包含标准的YYYY.MM.DD格式日期,直接用as.Date失败是因为文件名还包含路径前缀和.pdf后缀,且日期分隔符是点号,需要先提取纯日期字符串再转换:
- 先加载需要的工具包
library(dplyr) library(stringr)
- 提取日期并转换为日期类型
# 假设你的数据集叫df df <- df %>% mutate( # 从文件名中提取YYYY.MM.DD格式的日期字符串 date_raw = str_extract(filename, "\\d{4}\\.\\d{2}\\.\\d{2}"), # 将字符串转换为Date类型,指定分隔符为点号 date = as.Date(date_raw, format = "%Y.%m.%d") )
如果不需要中间的date_raw列,可以合并为一步:
df <- df %>% mutate(date = as.Date(str_extract(filename, "\\d{4}\\.\\d{2}\\.\\d{2}"), format = "%Y.%m.%d"))
关键说明
str_extract通过正则表达式\\d{4}\\.\\d{2}\\.\\d{2}精准匹配文件名中的日期片段,过滤掉路径和后缀as.Date的format参数必须和日期字符串的格式完全对应(这里是%Y.%m.%d,表示年.月.日),否则无法正确转换
内容的提问来源于stack exchange,提问作者匿名用户
相关产品推荐
相关产品推荐

