【发布时间】:2020-03-12 13:21:50
【问题描述】:
我有 1500 多个名为 data_{date from 2015070918 to today} 的 .txt 文件,全部包含 7 列数据和可变行数。我设法使用以下代码将数据提取并合并到一个表中:
files = list.files(pattern = ".txt")
myData <- lapply(files, function(x) {
tryCatch(read.table(x, header = F, sep = ','), error=function(e) NULL)
})
注意:列上没有标题,目前我什至不知道哪个变量是哪个!
目前数据的文件名中只有日期,因此无法区分每日数据的每个子集。如果我可以在附加列中包含文件名,我想创建一个附加列来包含我可以提取的日期。
我在 stackexchange 上搜索并发现了这个可能的解决方案:Importing multiple .csv files into R and adding a new column with file name
df <- do.call(rbind, lapply(files, function(x) cbind(read.csv(x, header = F, sep = ","), name=strsplit(x,'\\.')[[1]][1])))
但是我收到以下错误:
Error in read.table(file = file, header = header, sep = sep, quote = quote, :
no lines available in input
我在单个文件上使用了 read.csv,并且它们导入时没有任何问题。任何解决此问题的想法将不胜感激!
【问题讨论】:
标签: r filenames rbind read.csv