楚新元 | All in R

Welcome to R Square

按照花名册序号对简历文件重命名

楚新元 / 2022-03-20


最近单位面试,负责招聘的同事从招聘系统下载的简历的文件名格式如“张三.docx”,但是花名册里张三的面试顺序可能是 003,为了让面试官找简历方便,需要把简历的文件名整成“003-张三.docx”,因为面试的人比较多,同事如果一个一个改比较耗时,另外可能忙中出错,顺手帮忙实现下吧!

# 加载相关 R 包
library(readxl)
library(dplyr)

# 定义数据文件路径
path = "./data"

# 读取面试人员花名册
roster = read_xlsx(
  file.path(path, "roster.xlsx"),
  skip = 1
)
colnames(roster) = c("id", "name")

# 生成新旧文件名对应关系
path %>% 
  list.files(pattern = "docx", full.names = TRUE) %>% 
  as_tibble() %>% 
  # 提取姓名
  mutate(
    name = gsub(".*/(.+)\\.docx", "\\1", value)
  ) %>% 
  # 根据姓名左关联花名册
  left_join(roster, by = "name") %>% 
  # 给出修改后的文件名
  mutate(
    file_path = paste0(path, "/", id, "-", name, ".docx")
  ) -> file_map 

# 重命名文件名(加序号)
file.rename(file_map$value, file_map$file_path)

花名册表结构比较简单,第一行是标题,第二行是表头,第一列是序号,第二列是姓名,这里就不放具体文件了。这里需要注意的是重名的问题,需要提前处理下,运行下来还是比较酣畅淋漓的,基本没有挑战性,希望对别人有所帮助吧。