如何解决需要一个功能来导入极端混乱的txt文件
我是一个完全的新手,我需要找到一种导入真正凌乱的txt文件的方法。这意味着有很多奇怪的不同的分隔符和/或没有行尾的分隔符。我通过使用read.delim并指定了参数来尽力而为,但似乎没有任何作用……有不同的分隔符和行分隔符结尾的各种不同文件。我想找到一些可以完成所有文件的工作。我曾想过自己定义一个函数,但似乎找不到一种很好的方法来实现它...
example of a specifically hard to import txt file
解决方法
您可以尝试使用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)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。