Как выбрать конкретные строки по группе повторно - PullRequest
0 голосов
/ 11 июня 2019

Я новичок здесь и новичок в r, я уже извиняюсь, если мне не совсем ясно.Мне нужно прочитать определенные строки из файла, содержащего это:

Année;1986;
;
Débits mensuels en m3/s;
;QMM;QMN;V;
J;;;;;
F;;;;;
M;;;;;
A;;;;;
M;;;;;
J;;;;;
J;;;;;
A;;;;;
S;;;;;
O;;;;;
N;;;;;
D;;;;;

Statistiques;
;;Janvier;Février;Mars;Avril;Mai;Juin;Juillet;Août;Septembre;Octobre;Novembre;Décembre;1986
Ecoulement mensuel;Validité;;;;;;;;;;;;;;
;();;;;;;;;;;;;;;
;();;;;;;;;;;;;;;
;();;;;;;;;;;;;;;
;
Ecoulement naturel reconstitué;();;;;;;;;;;;;;;
;();;;;;;;;;;;;;;
;();;;;;;;;;;;;;;
;
Maximum instantané;();;;;;;;;;;;;;;
;Date;*;*;*;*;*;*;*;*;*;*;*;*;*;
;();;;;;;;;;;;;;;
;Date;*;*;*;*;*;*;*;*;*;*;*;*;*;
;

Débits journaliers;
Jour/Mois;Janvier;;Février;;Mars;;Avril;;Mai;;Juin;;Juillet;;Août;;Septembre;;Octobre;;Novembre;;Décembre;;
;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;
1;;;;;;;;;;;;;;;;;;;;;;;;;
2;;;;;;;;;;;;;;;;;;;;;;;;;
3;;;;;;;;;;;;;;;;;;;;;;;;;
4;;;;;;;;;;;;;;;;;;;;;;;;;
5;;;;;;;;;;;;;;;;;;;;;;;;;
6;;;;;;;;;;;;;;;;;;;;;;;;;
7;;;;;;;;;;;;;;;;;;;;;;;;;
8;;;;;;;;;;;;;;;;;;;;;;;;;
9;;;;;;;;;;;;;;;;;;;;;;;;;
10;;;;;;;;;;;;;;;;;;;;;;;;;
11;;;;;;;;;;;;;;;;;;;;;;;;;
12;;;;;;;;;;;;;;;;;;;;;;;;;
13;;;;;;;;;;;;;;;;;;;;;;;;;
14;;;;;;;;;;;;;;;;;;;;;;;;;
15;;;;;;;;;;;;;;;;;;;;;;;;;
16;;;;;;;;;;;;;;;;;;;;;;;;;
17;;;;;;;;;;;;;;;;;;;;;;;;;
18;;;;;;;;;;;;;;;;;;;;;;;;;
19;;;;;;;;;;;;;;;;;;;;;;;;;
20;;;;;;;;;;;;;;;;;;;;;;;;;
21;;;;;;;;;;;;;;;;;;;;;;;;;
22;;;;;;;;;;;;;;;;;;;;;;;;;
23;;;;;;;;;;;;;;;;;;;;;;;;;
24;;;;;;;;;;;;;;;;;;;;;;;;;
25;;;;;;;;;;;;;;;;;;;;;;;;;
26;;;;;;;;;;;;;;;;;;;;;;;;;
27;;;;;;;;;;;;;;;;;;;;;;;;;
28;;;;;;;;;;;;;;;;;;;;;;;;;
29;;;;;;;;;;;;;;;;;;;;;;;;;
30;;;;;;;;;;;;;;;;;;;;;;;;;
31;;;;;;;;;;;;;;;;;;;;;;;;;


Année;1987;
;
Débits mensuels en m3/s;
;QMM;QMN;V;
J;;;;;
F;;;;;
M;;;;;
A;;;;;
M;;;;;
J;;;;;
J;;;;;
A;;;;;
S;;;;;
O;;;;;
N;;;;;
D;;;;;

Statistiques;
;;Janvier;Février;Mars;Avril;Mai;Juin;Juillet;Août;Septembre;Octobre;Novembre;Décembre;1986
Ecoulement mensuel;Validité;;;;;;;;;;;;;;
;();;;;;;;;;;;;;;
;();;;;;;;;;;;;;;
;();;;;;;;;;;;;;;
;
Ecoulement naturel reconstitué;();;;;;;;;;;;;;;
;();;;;;;;;;;;;;;
;();;;;;;;;;;;;;;
;
Maximum instantané;();;;;;;;;;;;;;;
;Date;*;*;*;*;*;*;*;*;*;*;*;*;*;
;();;;;;;;;;;;;;;
;Date;*;*;*;*;*;*;*;*;*;*;*;*;*;
;

Débits journaliers;
Jour/Mois;Janvier;;Février;;Mars;;Avril;;Mai;;Juin;;Juillet;;Août;;Septembre;;Octobre;;Novembre;;Décembre;;
;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;
1;;;;;;;;;;;;;;;;;;;;;;;;;
2;;;;;;;;;;;;;;;;;;;;;;;;;
3;;;;;;;;;;;;;;;;;;;;;;;;;
4;;;;;;;;;;;;;;;;;;;;;;;;;
5;;;;;;;;;;;;;;;;;;;;;;;;;
6;;;;;;;;;;;;;;;;;;;;;;;;;
7;;;;;;;;;;;;;;;;;;;;;;;;;
8;;;;;;;;;;;;;;;;;;;;;;;;;
9;;;;;;;;;;;;;;;;;;;;;;;;;
10;;;;;;;;;;;;;;;;;;;;;;;;;
11;;;;;;;;;;;;;;;;;;;;;;;;;
12;;;;;;;;;;;;;;;;;;;;;;;;;
13;;;;;;;;;;;;;;;;;;;;;;;;;
14;;;;;;;;;;;;;;;;;;;;;;;;;
15;;;;;;;;;;;;;;;;;;;;;;;;;
16;;;;;;;;;;;;;;;;;;;;;;;;;
17;;;;;;;;;;;;;;;;;;;;;;;;;
18;;;;;;;;;;;;;;;;;;;;;;;;;
19;;;;;;;;;;;;;;;;;;;;;;;;;
20;;;;;;;;;;;;;;;;;;;;;;;;;
21;;;;;;;;;;;;;;;;;;;;;;;;;
22;;;;;;;;;;;;;;;;;;;;;;;;;
23;;;;;;;;;;;;;;;;;;;;;;;;;
24;;;;;;;;;;;;;;;;;;;;;;;;;
25;;;;;;;;;;;;;;;;;;;;;;;;;
26;;;;;;;;;;;;;;;;;;;;;;;;;
27;;;;;;;;;;;;;;;;;;;;;;;;;
28;;;;;;;;;;;;;;;;;;;;;;;;;
29;;;;;;;;;;;;;;;;;;;;;;;;;
30;;;;;;;;;;;;;;;;;;;;;;;;;
31;;;;;;;;;;;;;;;;;;;;;;;;;

Мне нужно извлечь только строки между "Débits journaliers;"и пустая строка после "31 ;;;;;;;;;;;;;;;;;;;;;;;;;", включает.В моем файле более 2000 строк, потому что все эти данные хранятся более 20 лет.

Мой файл состоит из символьных линий.

Спасибо за вашу помощь

1 Ответ

1 голос
/ 11 июня 2019

Посмотрите, поможет ли ниже

library(tidyverse)
file = read_lines("./Data/SampleText.txt")

grep("Débits journaliers;", file) %>% 
  map(~ file[.x: (.x+34)]) %>% 
  unlist # 2 lines after Debits + 31 lines + 1 blank
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...