如何将包含多个部分的CSV文件导入R?

Pau*_*yuk 7 csv import r file

我想将csv文件的内容导入R,csv文件垂直包含多个数据部分,用空行和星号分隔.例如

********************************************************
* SAMPLE DATA ******************************************
********************************************************
Name, DOB, Sex
Rod, 1/1/1970, M
Jane, 5/7/1980, F
Freddy, 9.12,1965, M

*******************************************************
*  Income Data ****************************************
*******************************************************
Name, Income
Rod, 10000
Jane, 15000
Freddy, 7500
Run Code Online (Sandbox Code Playgroud)

我想将它作为两个单独的数据帧导入R中.目前我手动将csv文件切割成较小的文件,但我想我可以使用read.csv和read.csv的skip和nrows设置来做,如果我可以解决secion断开的地方.

这为每个空行提供了逻辑TRUE

ifelse(readLines("DATA.csv")=="",TRUE,FALSE)
Run Code Online (Sandbox Code Playgroud)

我希望有人已经解决了这个问题.

Mar*_*rek 4

在这种情况下,我会做类似的事情:

# Import raw data:
data_raw <- readLines("test.txt")

# find separation line:
id_sep <- which(data_raw=="")

# create ranges of both data sets:
data_1_range <- 4:(id_sep-1)
data_2_range <- (id_sep+4):length(data_raw)

# using ranges and row data import it:
data_1 <- read.csv(textConnection(data_raw[data_1_range]))
data_2 <- read.csv(textConnection(data_raw[data_2_range]))
Run Code Online (Sandbox Code Playgroud)

实际上,您的第一个示例集结构不一致,因此data_1看起来很奇怪。