r语言 - 需要一个函数来导入极其混乱的 txt 文件



我是一个完全的新手,我需要找到一种方法来导入非常混乱的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)
}

最新更新