我是一个完全的新手,我需要找到一种方法来导入非常混乱的txt文件。这意味着有很多奇怪的不同分隔符和/或奇怪的没有结束的分隔符。我尽力使用 read.delim 并指定参数,但似乎没有任何效果......有各种不同的文件具有不同的分隔符和行尾分隔符。我想找到一些可以完成所有文件工作的东西。我想过自己定义一个函数,但我似乎找不到一个好的方法来解决它......
特别难以导入的 TXT 文件示例
你可以尝试data.table::fread
函数,因为它通常只是完成工作,而不需要指定很多参数。不过,它肯定不适用于所有凌乱的文件。
你可以尝试这样的事情。它应该适用于大多数 txt 文件。 只需读取函数,然后调用readfile("Path/to/your/file", "your_end_of_line_sep", "your_sep")
。如果其中一个 sep 是转义字符,请确保在其前面加上"/">
readfile <- function(file, eol_str, sep_str = ";") {
row_list <- sapply(scan(file, what = character(), sep = eol_str),
strsplit, split = sep_str)
df <- data.frame(do.call(rbind, row_list[2:length(row_list)]))
row.names(df) <- NULL
names(df) <- row_list[[1]]
return(df)
}