r - 将csv文件从多个目录复制到R中的新目录
问题描述
我正在尝试从多个目录/子目录中提取许多 .csv 文件并将它们复制到一个新文件夹中,我希望最终只得到 .csv 文件。
csv 文件存储在具有以下结构的子目录中:
D:\R data\main_folder\03\07\04\BBB_0120180307031414614.csv
D:\R data\main_folder\03\07\05\BBB_0120180307031414615.csv
我正在尝试 list.files 函数仅提取 csv 文件名。
my_dirs <- list.files("D:\\R data\\main_folder\\",pattern="\\.csv$" ,recursive = TRUE,
include.dirs = FALSE,full.names = FALSE)
问题是 csv 文件与目录路径一起列出,例如
03/07/03/BBB_0120180307031414614.csv
而且,即使 full.names 和 include.dirs 设置为 FALSE。这会阻止我将这些文件复制到新文件夹中,因为无法识别名称。我究竟做错了什么?谢谢
解决方案
使用basename
与list.files
下面类似的功能。
如果我理解正确,那么您想获取不同目录中存在的.csv文件的名称。
我在 windows 机器的文档目录中创建了一个临时文件夹,里面有两个文件夹“one”和“two”,在这些文件夹中,我有名为“just_one.csv”和“just_two.csv”的 csv 文件。
因此,如果我想获取名称“just_one.csv”和“just_two.csv”,那么我可以这样做:
basename(list.files("C:/Users/C_Nfdl_99878314/Documents/temp", "*.csv", recursive=T))
结果:
[1] "just_one.csv" "just_two.csv"
推荐阅读
- c - 为什么在使用多进程时这段代码不打印两个“hello”?
- c++ - 为什么“findChessboardCorners”函数返回假
- fortran - 在 Fortran 中导出宏
- puppet - 木偶插件事实 404
- python - 找出其中最常见的前 n 个字符
- android - 在 Delphi 中发送推送通知
- python - setuptools 是否应该在 setup.cfg 文件的 setup_requires 条目中?
- javascript - 脚本冲突
- python - 如何在熊猫中获取许多列的唯一值并在它们旁边附加列名?
- javascript - Discord.js 将 mpeg 音频流流式传输到语音通道