我有一个16行的.csv文件。每行以字母开头,在这种情况下以a
或b
为开头。
外部for循环将逐行检查第一个字母。如果行x
以b
开头,则第二个for循环将对所有行进行计数,直到再次出现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()
来对第13行中b
(第一次出现)和b
之间的行进行计数。k
应该代表内部循环的起点。
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)