【问题标题】:How to loop through multiple txt files and write content into a dataframe [duplicate]如何遍历多个txt文件并将内容写入数据框[重复]
【发布时间】:2019-03-29 09:24:27
【问题描述】:

我有一堆 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 文件的字符串内容代表数据框中的一个观察值/行。非常感谢您的时间和精力!

【问题讨论】:

  • 你应该添加你使用的库(我想 read_file 来自 readr pacakge)

标签: r loops dataframe text


【解决方案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,所有列名都相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-01
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多