R语言 如何从PDF文件名中提取日期到数据集?

vxf3dgd4  于 2022-12-06  发布在  其他
关注(0)|答案(2)|浏览(99)

我尝试从多个PDF中提取日期,以便在数据集中创建日期列。
我有一个文件夹持有所有的pdf的,并试图做一个主题建模在一段时间内,因此我需要提取日期。
下面是我刚刚得到的包含文件名的数据集。

# A tibble: 260 x 1
   filename        
   <chr>           
 
1 ./2012.01.18.pdf
 2 ./2012.02.07.pdf
 3 ./2012.03.12.pdf
 4 ./2012.03.26.pdf
 5 ./2012.04.02.pdf
 6 ./2012.04.04.pdf
 7 ./2012.04.19.pdf
 8 ./2012.05.01.pdf
 9 ./2012.05.07.pdf
10 ./2012.06.14.pdf

尝试“as.Date”没有运气,因为我无法从保存所有PDF文件的文件中提取日期

gpfsuwkq

gpfsuwkq1#

format中,我们可以指定额外的字符以及年(%Y)、月(%m)和日(%d)的自定义格式

df$V2 <-  as.Date(df$V2, format = "./%Y.%m.%d.pdf")
  • 输出
> df
   V1         V2
1   1 2012-01-18
2   2 2012-02-07
3   3 2012-03-12
4   4 2012-03-26
5   5 2012-04-02
6   6 2012-04-04
7   7 2012-04-19
8   8 2012-05-01
9   9 2012-05-07
10 10 2012-06-14

数据

df <- structure(list(V1 = 1:10, V2 = c("./2012.01.18.pdf", "./2012.02.07.pdf", 
"./2012.03.12.pdf", "./2012.03.26.pdf", "./2012.04.02.pdf", "./2012.04.04.pdf", 
"./2012.04.19.pdf", "./2012.05.01.pdf", "./2012.05.07.pdf", "./2012.06.14.pdf"
)), class = "data.frame", row.names = c(NA, -10L))
cgyqldqp

cgyqldqp2#

必须首先从名称中提取日期字符串,然后强制转换为类"Date"

df1 <-'1 ./2012.01.18.pdf
 2 ./2012.02.07.pdf
 3 ./2012.03.12.pdf
 4 ./2012.03.26.pdf
 5 ./2012.04.02.pdf
 6 ./2012.04.04.pdf
 7 ./2012.04.19.pdf
 8 ./2012.05.01.pdf
 9 ./2012.05.07.pdf
10 ./2012.06.14.pdf'
df1 <- read.table(textConnection(df1))

df1$V2 <- sub(".*(\\d{4}.\\d{2}.\\d{2}).*", "\\1", df1$V2)
df1$V2 <- as.Date(df1$V2, "%Y.%m.%d")
df1
#>    V1         V2
#> 1   1 2012-01-18
#> 2   2 2012-02-07
#> 3   3 2012-03-12
#> 4   4 2012-03-26
#> 5   5 2012-04-02
#> 6   6 2012-04-04
#> 7   7 2012-04-19
#> 8   8 2012-05-01
#> 9   9 2012-05-07
#> 10 10 2012-06-14

创建于2022年11月27日,使用reprex v2.0.2

相关问题