楚新元 | All in R

Welcome to R Square

按照花名册序号对文件进行重命名

楚新元 / 2022-03-20


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

# 加载相关R包
library(openxlsx)
library(dplyr)
library(here)

# 读取面试人员花名册
roster = read.xlsx(
  "./data/roster.xlsx",
  startRow = 2
)
colnames(roster)[1:2] = c("id", "name")
roster = roster[, 1:2]  # 只取姓名和序号

# 本地简历和花名册建立映射关系
tibble(name = dir("./resume")) %>% 
  mutate(name = gsub(".docx", "", name)) %>% 
  left_join(roster, by = "name") %>% 
  mutate(idname = paste(id, name, sep = "-")) -> file_map

# 重命名文件名(加序号)
file.rename(
  paste0(here("resume"), "/", file_map$name, ".docx"), 
  paste0(here("resume"), "/", file_map$idname, ".docx")
)

花名册比较简单,第一行是标题,所以从第二行开始读取数据,第一列是序号,第二列是姓名,这里就不放具体文件了。这里需要注意的是重名的问题,需要人工介入下,运行下来还是比较酣畅淋漓的,基本没有挑战性,希望对别人有所帮助吧。