2016-03-14 5 views
0

У меня есть. CSV-файл содержит несколько кадров данных. Это выглядит так:Чтение в .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. Затем я мог бы отфильтровывать их до отдельных кадров данных. То есть. просто прочитайте все, указав количество столбцов.

ответ

1
df <- read.delim(file.choose(),header=F,sep=";",fill=TRUE) # choose x.csv from you PC. 
file.choose() открывает диалоговое окно для выбора входного файла. Надеюсь, это помогло.
Смежные вопросы