如何解决如何使用文件夹名称重命名文件列表
我有一个文件夹,其中包含来自一本老式计算机杂志的5219个扫描的jpg文件。 (“ G:\ M&K”)这些文件按年份(1979、1980,...,1988)在文件夹中排序,然后按问题(1:6)排序。因此,第一个问题的路径如下:“ G:\ M&K \ 1979 \ 1”。
文件名的结构并不完美,因此我需要按页码,年份和问题来重命名它们。像这样:[页码] [问题] [年]。
我尝试过:
files <- data.frame(list.files("G:/M&K",full.names = T,include.dirs = T,recursive = T,pattern = ".jpg"))
但这只给了我一个文件路径列表,这将要求我每隔一年过滤一次并发布。
然后我尝试了:
ordner_liste <- list.dirs("G:/M&K") %>%
str_subset("/..../.")
filesliste <- rbind.data.frame(
lapply(
ordner_liste,function(
ordner_oeffnen){
list.files(
ordner_liste)
}),ordner_liste)
但这给了我一个奇怪的数据框,其中有57列包含第一个文件夹中的文件。
对我来说,最好的情况是一个数据框,其中包含用于年份,问题和文件名的单独列。然后,我的下一步就是尝试重命名所有文件。
解决方法
我认为这是很好的开始方式。只需在strsplit
上使用files
并在斜杠/
和rbind
上分割,通过省略不需要的列即可将结果生成数据框。
files <- data.frame(V1=list.files("V:/M&K",full.names=T,include.dirs=T,recursive=T,pattern=".jpg"))
res <- setNames(do.call(rbind.data.frame,strsplit(files$V1,"/"))[-(1:2)],c("year","issue","file"))
结果
res
# year issue file
# 1 1979 01 01.jpg
# 2 1979 01 02.jpg
# 3 1979 01 03.jpg
# 4 1979 02 01.jpg
# 5 1979 02 02.jpg
# 6 1979 02 03.jpg
# 7 1979 03 01.jpg
# 8 1979 03 02.jpg
# 9 1979 03 03.jpg
# 10 1980 01 01.jpg
# 11 1980 01 02.jpg
# 12 1980 01 03.jpg
# 13 1980 02 01.jpg
# 14 1980 02 02.jpg
# 15 1980 02 03.jpg
# 16 1980 03 01.jpg
# 17 1980 03 02.jpg
# 18 1980 03 03.jpg
# 19 1981 01 01.jpg
# 20 1981 01 02.jpg
# 21 1981 01 03.jpg
# 22 1981 02 01.jpg
# 23 1981 02 02.jpg
# 24 1981 02 03.jpg
# 25 1981 03 01.jpg
# 26 1981 03 02.jpg
# 27 1981 03 03.jpg
通过根据您的描述创建文件夹结构进行了测试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。