実現したいこと
pythonでテキストファイルを読み込み、「指定した文字列で始まる行からn行を取得するプログラム」
を作成しようとしています。
理想は指定した文字列から始まるn行を取得し、1行1行が配列に格納されるようにしたいです。
イメージ
下記内容のsample.txtがあるとします。
#catalog of fruits apple is red banana is sweet orange is sour strawberry grape lemon # # #catalog of sports soccer baseball basketball volleyball tennis golf # #
pythonでリスト型変数fruitsに「#catalog of fruits」から始まる6行を格納したいです。
with open(sample.txt) as f: lines = f.readlines() 何らかの処理 print(type(fruits)) print(fruits) 【実行結果】 <class 'list'> ["apple is red", "banana is sweet", "orange is sour", "strawberry", "grape", "lemon"]
現状
with open(sample.txt) as f: lines = f.readlines() lines_strip = [line.strip() for line in lines] str1 = [line for line in lines_strip if line.startswith("apple")] str2 = [line for line in lines_strip if line.startswith("banana")] str3 = [line for line in lines_strip if line.startswith("orange")] str4 = [line for line in lines_strip if line.startswith("strawberry")] str5 = [line for line in lines_strip if line.startswith("grape")] str6 = [line for line in lines_strip if line.startswith("lemon")] fruits = [] fruits.append(str1) fruits.append(str2) fruits.append(str3) fruits.append(str4) fruits.append(str5) fruits.append(str6) print(type(fruits)) print(fruits)
これでも良いのですが、行数が増えると大変になってしまうので、上記イメージのように
「指定した文字列で始まる行からn行」を配列におさめる方法を知りたいです。
もし、ご存じの方がいらっしゃれば、ご教授お願いいたします。
環境
python 3.8.5
windows10 64bit
テキストエディタ:Visual Studio Code
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/27 11:04