如何遍历多个txt文件并将内容写入数据框

时间:2019-03-29 09:24:28

标签: r loops dataframe text

我有一堆txt文件,想要编写一个循环,该循环读取整个文件并将其内容(作为单个字符串)写入数据帧。这是代码:

file.names <- dir(path, pattern = "*.txt", recursive = TRUE, full.names = TRUE) 

df1 <- data.frame(matrix(ncol = 1, nrow = 0))
colnames(df1) <- "string"


for(i in 1:length(file.names)){
df2 <- read_file(file.names[i])
dataframe <- rbind(df1, df2)
}

循环不起作用-我只读取一个文件,并将其内容写为列的名称。我希望每个txt文件的字符串内容都代表数据帧中的一个观察值/行。非常感谢您的时间和精力!

1 个答案:

答案 0 :(得分:1)

我要做的是将data.frames读入列表。使用do.call,我们可以将所有内容组合到一个data.frame中,以供进一步处理。

file.names <- dir(path, pattern = "*.txt", recursive = TRUE, full.names = TRUE) 

xy <- lapply(file.names, FUN = read_file)
xy <- do.call(rbind, xy)

此代码假定read_file返回具有所有相同列名的正确data.frame。