簡體   English   中英

使用 itertools 的 for 循環來計算行數

[英]For loops with itertools to count rows

我有一個 .csv 文件,有 16 行。 每行以字母開頭,在本例中為ab

外部 for 循環將逐行檢查第一個字母。 如果行xb開頭,則第二個 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM