【问题标题】:read.table multiple Txt files in RR中的read.table多个Txt文件
【发布时间】:2020-12-08 13:52:23
【问题描述】:

我需要在 R 中读取多个 Txt 文件以创建唯一的数据集并将其导出到 Excel。这是我用的

BHCFYYMM <- read.table('bhcf1803.txt''bhcf1806.txt''bhcf1809.txt''bhcf1812.txt', sep="^", nrows=1300, comment.char="", header=TRUE, quote="", na.strings="--------", as.is=TRUE)
setwd("/Users/marco/Desktop/research/silvio")
getwd()
write.table(BHCFYYMM, file = "HoldingCompanyData.csv", sep = ",")

但我收到此错误: Error: unexpected string constant in "BHCFYYMM &lt;- read.table('bhcf1803.txt''bhcf1806.txt'"

知道我该如何处理吗?

【问题讨论】:

标签: r read.table txt


【解决方案1】:

您的代码可能失败,因为您不能一次提供read.table() 多个文件路径。

您可以改为使用lapply() 将文件路径列表提供给read.table()。然后可以使用dplyr::bind_rows() 组合这些表。

(假设您提供的其他参数正确)

# Load dplyr
# install.packages("dplyr")
library(dplyr)

# It is usually best practice to set your working directory before you do anything else.
setwd("/Users/marco/Desktop/research/silvio")

# Make list of files.
files <- c("bhcf1803.txt", "bhcf1806.txt", "bhcf1809.txt", "bhcf1812.txt")

# Read files into a list of tables.
tables <- lapply(X = files, FUN = read.table, sep = "^", nrows = 1300, comment.char = "", header = TRUE, quote = "", na.strings = "--------", as.is = TRUE)

# Bind tables together into a single table.
BHCFYYMM <- bind_rows(tables)

# Write table to a new file.
write.table(BHCFYYMM, file = "HoldingCompanyData.csv", sep = ",")

【讨论】:

    【解决方案2】:

    我不知道文本文件中有什么,但如果我想导入多个文件并绑定它们,我通常会这样做

    #set 工作目录
    setwd("C:/xxxx/xxxx/Desktop/DUMP/")

    #选择文件扩展名的模式

    文件

    #读取所有文件并绑定行
    tbl% bind_rows()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多