#実現したいこと
1 .txtファイルAとBから"Ask"を含む行番号を抽出
2 .txtファイルAとBから"nest"を含む行番号を抽出
3 .上記で取得した値を保持しfor文で更なる処理を行いたい。
(上記で抽出した値の間の行をテキストファイルに抽出したいと思っています。)
#A.txtの中身 ASK test test nest #B.txt test ASK test ASK nest
問題
以下のスクリプト内で最初にfor 文で取得した"Ask"を含む行番号が"nest"の行番号を取得する処理の後に値が変わってしまいます。
どうしたら"nest"を含む文字列の行番号を取得した後に、その前で取得したASKの値を保持し、次の処理を行う事ができるでしょうか?
ご回答いただけますと幸いです。
#試した事
import glob report = glob.glob('*.txt')#複数のファイルを読み込む ######ASKを含む行で最初に該当した物を出力###### for m in report: with open(m, encoding="utf-8") as fin: for row1, text1 in enumerate(fin, start=1): text1 = text1.rstrip() if "Ask" in text1: break print(row1) #1回目 "1","2"と出力 ######nestを含む行で最初に該当した物を出力###### for i in report: with open(i, encoding="utf-8") as fin2: for row2, text2 in enumerate(fin2, start=1): text2 = text2.rstrip() if "nest" in text2: break print(row1) #2回目"2"と出力 (1回目で取得した値と内容が異なる) # print(row2) # "4","5"と出力 for x in range(row1,row2): #上記で取得した行番号を元に更なるfor文での処理を行う
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/25 14:32
2020/07/25 14:38
2020/07/25 15:00 編集
2020/07/25 15:55