【发布时间】:2013-02-27 13:18:32
【问题描述】:
我有一个文件夹 (my_files),其中包含大约 1000 个文件夹。这 1000 个文件夹中的每一个都有 6 个 csv 文件。我想通过聚合每个目录的这 6 个 csv 来获得 1000 个 csv 文件。
我有以下代码:
files<-list.files("/Users/me/Desktop/my_files")
for (i in files)
{
//open each directory in "files"
//aggregate all csvs in the directory into one
//name of the aggregated csvs should be the name of the folder they were inside of
}
我正在尝试使用类似的东西:
for (i in files)
{
files2<-list.files("/Users/me/Desktop/my_files/"i)
}
列出 my_files 目录中的文件,但显然这是错误的语法。
【问题讨论】:
-
如果您只想获取生成的 CSV 文件,那么 Bash 可能是比 R 更好的工具。
-
我想将不同目录中的所有 csv 文件聚合为一个。例如。 my_files/xxx 文件夹有 6 个 csv 文件,我想最终得到一个 xxx.csv 文件,它是所有 6 个 csv 文件放在一起的。我可以在 R 中一个一个地做到这一点,但是对于这么多的目录来说这太过分了。我对 bash 了解不多,你认为我应该用谷歌在 bash 中做这样的事情吗?有什么具体的命令会有所帮助吗?
-
BASH 是标准的 Linux 命令外壳。
-
等等。您是想仅合并 R 中的 CSV 数据,还是需要这些文件用于其他用途?
-
@demt 根据您的文件的组织方式,它可以像 Bash 中的
for folder in my_files/*; do cat "$folder"/*.csv > "$folder.csv"; done一样简单。
标签: r