读取具有多个数据帧/不同列数的.csv

时间:2016-03-14 09:22:00

标签: r csv dataframe read.table

我有一个.CSV文件包含多个数据框。它看起来像这样:

# A;Date;Price;Volume;Country
# B;Company;Available;StartDate;EndDate;Published;Modified
# C;ID;Timestamp;Capacity
# D;Rownumbers
#
A;2016-01-01 00:00:00;75.18;2500;DK
A;2016-01-01 00:00:00;55.25;8500;DE
A;2016-01-01 00:00:00;125.00;6500;UK
A;2016-01-01 01:00:00;65.28;2400;DK
# A; etc....
B;PRETZELS;TRUE;2016-01-01;2016-01-02;YES;2016-01-03
B;FAKES;FALSE;2016-01-01;2016-01-02;NO;2016-01-03
# B; etc....
C;11;2016-01-01 23:00:00;25
C;16;2016-01-01 22:00:00;15
# C; etc....
D;1175

因此,文件的第一部分包含有关文件中数据的信息。从这里您可以看到,根据信息 - 有不同数量的columsn。在这种情况下来自A - D.

我已经尝试过:

df <- read.table(file = x.csv, sep = ";", fill = TRUE) 

但是填充不能处理不同数量的列 - 例如,如果您稍后增加列数。

理想情况下,我会创建一些数据框 - 在这种情况下基于行名称(例如A,B,C和D)。

或者只是让数据框的列数= max(ncols(df))且有很多NA值,然后我可以过滤掉单独的数据帧。 IE浏览器。只需读入所有内容,并指定列数。

1 个答案:

答案 0 :(得分:1)

 df  <- read.delim(file.choose(),header=F,sep=";",fill=TRUE) # choose x.csv from you PC.
file.choose()打开一个用于选择输入文件的对话框。希望这有帮助。