我正在尝试根据以下脚本读取将近30000个用竖线(|)分隔的文本文件
mypath = "path/to/my/text/files/directory"
setwd(mypath)
# Create list of text files
txt_files_ls = list.files(path=mypath, pattern="*.txt")
# Read the files in, assuming comma separator
txt_files_df <- lapply(txt_files_ls, function(x) {read.table(file = x, header = T, sep ="|")})
# Combine them
Combined_df <- do.call("rbind", lapply(txt_files_df, as.data.frame))
我遇到错误
Error in read.table(file = x, header = T, sep = "|") :
more columns than column names
In addition: There were 37 warnings (use warnings() to see them)
我的文件夹中有30000个文本文件,实际上不可能打开每个文件并检查哪个文件的列数超出了预期。
如果有人可以帮助我解决此错误,则将很有帮助。预先感谢。
答案 0 :(得分:0)
数据中的某些文本字段很可能包含|
,read.table()
可能会引起分隔符混乱
尝试使用功能更强大的data.table::fread()
代替read.table()
library(data.table)
fread("filename.csv")