需要一个功能来导入极端混乱的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)
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...