前提
python初心者です。
自分の勉強不足なのは理解しているので、自分で調べろ勉強しろなどといった答えは控えて頂けると幸いです。
今回はpythonで読み込んだテキストファイルの指定した行を削除するようなプログラムを作成しています。
実現したいこと
実際に指定した行に含まれる文字を指定することで、削除するようなプログラムは作成することができました。
ただ自分のやりたいこととしては、その指定した文字を含む行が2回以上続いた場合に、2行目以降を削除するといったプログラムです。
例えば、
・見積書
・注文書
・請求書
+ ・売上管理表
・行程管理表
ー ・売上管理表
+ ・P/S
+ ・B/S
ー ・利益
ー ・合計
+ ・その他
テキストファイルの中がこのようになっている時、+が指定文字とするなら2回以上続いた・B/Sの行を削除したいというような感じです。
発生している問題
自分の勉強不足であることは非常にわかっておりますが、「2回以上続く場合」といったような条件を自分のソースコードにどのように書き込めばいいのか思い当たらず質問させていただいております。
該当のソースコード
python
1inputFile = 'sample.txt' 2outputFile = 'sample_2.txt' 3 4containWord = [] 5NGWord = ['+'] 6 7for line in open(inputFile): 8 # 行中にNGWordを含むか判別 9 for i in NGWord: 10 if i in line: 11 break 12 else: 13 # 行中にcontainWordを含むか判別 14 for i in containWord: 15 if i not in line: 16 break 17 else: 18 # NGWordを含まないかつcontainWordを含む場合、 19 # 書き込みファイルの末尾にその行を追加 20 with open(outputFile, mode = 'a') as f: 21 f.write(line)
回答3件
あなたの回答
tips
プレビュー