我有一个文本文件的目录。我想将这些文本文件的内容逐行读入R数据框。文本文件包含非结构化文本。期望的数据帧输出是:将txt文件的目录逐行读入一个R数据框,并将文件名作为一列
file; line
1.txt; "line 1 in 1.txt"
1.txt; "line 2 in 1.txt"
2.txt; "line 1 in 2.txt"
...
我已经写下面的代码,但它会导致错误。我也猜想有一个更直接的方法来做到这一点,例如readr
和dplyr
。
files <- list.files(path="./data", pattern = "*.txt", full.names = TRUE) # read data folder txt files
my_lines <-list() # create temp list for reading lines
df <- data_frame("file" = character(0), "line" = character(0))
for (file in files){
my_lines <- readLines(file) # read lines from file into a list
for (line in my_lines){
df$file<-file
df$fline<-line
}
}
这将有助于知道你得到哪些错误 –
@MarcoSandri:'替换有1行,数据有0' – textnet
你可以一次读取整个文件,然后添加一个新的文件列。最后,你可以通过'rbind'或者'bind_rows'连接所有'data.frame's。 – mt1022