Для циклов с itertools для подсчета строк - PullRequest
0 голосов
/ 19 марта 2020

У меня есть документ .csv с 16 строками. Каждая строка начинается с букв, в данном случае с a или b.

Внешний символ l oop будет построчно проверять первую букву. Если строка x начинается с b, второй for-l oop будет считать все строки до тех пор, пока b не появится снова.

Пример:

1. a
2. a
3. a
4. a
5. b
6. a
7. a
8. a
9. a
10.a
11.a
12.a
13.b
14.a
…

b находится в строке 5, следующей в строке 13. Между строкой…

есть 7 строк. Это мой скрипт для подсчета строк от строки 5 до строки 13:

«Verschachtelteitertools»

import itertools
import re  
df = open('zeilen.csv')

for i, line in enumerate(df):
    #print(i,line)
    if re.search('b',line):
        #print(i,line)
        k = i+1
        count = 1
        #print(k)
        for line in itertools.islice(df,k):

            if bool(re.search('b',line)) == False:
                count=count+1
        lineX = count

print(lineX)

Я выбрал itertools.islice() для подсчета строк между b (1-е вхождение) и b в строке 13. k должен представлять начальную точку внутреннего l oop.

1 Ответ

0 голосов
/ 19 марта 2020

import itertools import re<br> df = open('zeilen.csv') for i, line in enumerate(df): #print(i,line) if re.search('b',line): #print(i,line) k = i+1 count = 1 #print(k) for line in itertools.islice(df,k):<br> if bool(re.search('b',line)) == False: count=count+1 lineX = count print(lineX)

...