嵌套在带有itertools的循环中以对行进行计数

问题描述 投票:0回答:1

我需要您的支持才能开发for循环。我有一个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. a10.a11.a12.a13.b14.a…

'b'在第5行中,在第13行中的下一行。在之间有7行...

这就是我的脚本来计算从第5行到第13行的行:

`“ verschachtelteitertools”

导入itertools汇入df = open('zeilen.csv')

对于我来说,是enumerate(df)中的行:#print(i,line)如果re.search('b',line):#print(i,line)k = i + 1计数= 1#print(k)用于itertools.islice(df,k)中的行:

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

print(lineX)`

我选择了itertools.isclice来对第13行中'b'(第一次出现)和'b'之间的行进行计数。“ k”应代表内部循环的起点。

您有解决此问题的想法吗?

最诚挚的问候

python loops for-loop nested itertools
1个回答
0
投票

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)

© www.soinside.com 2019 - 2024. All rights reserved.