【发布时间】:2019-12-12 12:23:04
【问题描述】:
我在一个看起来像这样的文件夹中有一系列文件;
B_1.csv、B_1_2.csv、B_2.csv、B_2_2.csv、B_3.csv、B_4.csv、B_4_1.csv
基本上,我希望将任何包含“_2”的文件合并到它们的进程号(即 B_1_2.csv 与 B_1.csv 合并)。更复杂的是,某些文件(例如 B_3.csv)没有第二个文件 (_2),因此需要忽略。我想不出一个简单的方法来完成这个。任何帮助将不胜感激。非常感谢
【问题讨论】:
-
“将任何包含'_2'的文件合并到它们的进程号”,所以,
B_2.csv包含"_2",它是否与B_1.csv一起合并B_1_2.csv? -
如果这不是你想要的,一个让回答更简单的好方法可能是删除文件名中的第一个
_,或者用-替换它。oldnames = list.files(pattern = ".csv$"); newnames = sub("_", "-", oldnames); file.rename(from = oldnames, to = newnames) -
为了澄清我确实希望将数据帧逐行绑定在一起。当我说“将包含'_2'的任何文件合并到它们的进程号”时 - 我的意思是文件名中的进程号。例如; B_1_2.csv 绑定到 B_1.csv 的底部,B_2_2.csv 绑定到 B_2.csv 的底部
-
嗨@PhilRoberts,感谢您的澄清。在那种情况下,我的答案需要一些我目前没有时间做的调整。我会删除它。
标签: r