【问题标题】:Converting non-standard file to .csv in R在 R 中将非标准文件转换为 .csv
【发布时间】:2015-07-14 06:02:51
【问题描述】:

我使用的一些输出文件是非标准的、以空格分隔的格式,具有非标准扩展名 (.out),仅对我使用的特定程序有意义。例如,我可能会得到一个水预算输出文件,如下所示:waterbalance.out

我可以通过将文件作为空格分隔文件打开并在第 3 行开始导入来在 Excel 中打开这些文件。

如何将此类文件类型读入 R 以便转换为 .csv?

【问题讨论】:

  • 您可以将sep 参数指定给read.csvfread(用于高效阅读器)。
  • 我认为 R 可以毫无问题地处理非标准扩展。空间分隔的情况更加可怕。它不会聪明地处理模棱两可的情况,正如你所展示的那样,你可以轻松应对。
  • 你可以试试read.table(yourfilename, sep = "\t", header=TRUE, comment.char = "0")(跳过以0开头的行,使用制表符作为分隔符)或read.table(yourfilename, sep = " ", header=TRUE, sip = 2)(跳过前两行,使用空格作为分隔符)。

标签: r file csv rstudio file-conversion


【解决方案1】:

假设你有一个空格分隔的文件:

name grade percent
john 1 0.3
brian 2 0.25
joshua 5 1.1

您可以为read.csv 指定分隔符:

> read.csv("test.ssv", sep=" ")
    name grade percent
1   john     1    0.30
2  brian     2    0.25
3 joshua     5    1.10

另外,来自data.tablefread 能够自动解析:

> library("data.table")
> fread("test.ssv")
     name grade percent
1:   john     1    0.30
2:  brian     2    0.25
3: joshua     5    1.10

【讨论】:

  • 终于通过使用 skip 和 dec 参数让它工作了。谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-08-29
  • 2021-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-17
  • 2018-07-04
  • 1970-01-01
相关资源
最近更新 更多