私は、170のオランダ語小説からなるテキストファイルのコーパスを準備しています。私は文学者であり、比較的Pythonの初心者でもあり、一般的なプログラミングでもあります。私がしようとしているのは、小説の実際の内容(すなわちストーリー)に属さない各.txtファイルからすべてを取り除くためのPythonスクリプトを書くことです。私が削除したいのは、ePubを.txtに変換する際の著者、blurbs、その他の情報が追加された経歴です。Pythonを使ってtxtファイルからparatext(または 'ノイズ')を取り除く
私の考えは、実際の小説の内容が始まる行と終了する行の各.txtファイルを手動で決定することです。
def removeparatext(inputFilename, outputFilename):
inputfile = open(inputFilename,'rt', encoding='utf-8')
outputfile = open(outputFilename, 'w', encoding='utf-8')
for line_number, line in enumerate(inputfile, 1):
if line_number >= 80 and line_number <= 2741:
outputfile.write(inputfile.readline())
inputfile.close()
outputfile.close()
removeparatext(inputFilename, outputFilename)
番号80と2741年の開始と終了番号をされています。私は、これらの2つのライン番号の間に含まれていないの.txtファイル内のすべての情報を除去する目的のために次のコードブロックを使用しています特定の小説の実際の内容。ただし、出力ファイルは、行番号80の前にテキストが削除された.txtファイルのみを出力します。行番号2741の行番号をまだ含んでいます。理由はわかりません。おそらく、私は正しい方法でenumerate()関数を使用していません。
もう1つのことは、.txtファイル内のすべての不要なスペースを取り除きたいということです。しかし、.strip()メソッドは、このコードブロックで実装すると動作しないようです。
誰も私にこの問題を解決する方法についての示唆を与えることができますか?事前に多くの感謝!
ありがとうございました! itertools.isliceを使用すると、私のためにうまく動作します。私はすでにファイルを開くためにwith文を使用していることを認識していましたが、1つではなく2つのファイルを開くときにどのように使用するかはわかりませんでした。 – roelmetgevoel