【发布时间】:2016-09-13 17:00:48
【问题描述】:
我想编写一行代码来将多个文本文件相互附加以创建一个主列表。
我使用以下代码读取所有文件。
myfiles <- list.files(path = filepath, pattern = "txt", full.names = TRUE)
但想创建一个 for 循环,它将附加(将文件堆叠在一起)x # 个文件到一个主文本文件中,然后我可以输出。 有没有人有一个很好的循环程序可以解决这个问题?
【问题讨论】:
-
检查一下:stackoverflow.com/questions/33565199/… 此外,
rbind可能会导致大量文件效率低下。如果你有很多文件要附加,plyr包中的rbind.fill会更有用。 -
for( i in myfiles ) cat( readLines( i ), "\n", file = "master.txt", append = TRUE ) -
您也可以通过
cat简单地将这些文件连接到您的 Bash 中(这将在当前工作目录中“按行”连接所有 txt 文件):cat *.txt > output.txt -
@giraffehere 这很有帮助! - 问题:如何使用此代码将文件名包含为一列,以保持记录?
-
@user3100446 在
for循环中,向currentFile添加一个名为“FromFile”或类似名称的列,并用您当前所在文件的名称填充该列。如果您使用与其他堆栈溢出问题相同的示例,这将是myFiles[i]。即:currentFile$FromFile <- myFiles[i].
标签: r loops for-loop automation