【问题标题】:Reading in a .csv with multiple data frames / Different number of columns读取具有多个数据框/不同列数的 .csv
【发布时间】:2016-06-29 06:12:33
【问题描述】:

我有一个包含多个数据框的 .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

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

我试过了:

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

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

理想情况下,在这种情况下,我会根据行名(例如 A、B、C 和 D)创建多个数据框。

或者只有列号 = max(ncols(df)) 的数据框有很多 NA 值,然后我可以稍后过滤掉单个数据框。 IE。只需阅读所有内容,并指定列数。

【问题讨论】:

    标签: r csv dataframe read.table


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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      • 2023-01-18
      • 1970-01-01
      相关资源
      最近更新 更多