eumiro Delete duplicate rows in textfile の助けを借りて- 「{」または「}」が含まれていることを除いて 、大きなテキストファイルの重複行を正常に削除できました。これは、60MB から 3MB のテキストファイルへの大きな一歩です。
しかし今、私は次のような重複した単語を削除したい:
@INBOOK{Miller1992,
author = {Miller, Rowland S. und Mark R. Leary and Miller, Rowland S. und Mark
R. Leary and Miller, Rowland S. und Mark R. Leary and Miller, Rowland
S. und Mark R. Leary and Miller, Rowland S. und Mark R. Leary and
Miller, Rowland S. und Mark R. Leary and Miller, Rowland S. und Mark
Miller, Rowland S. und Mark R. Leary},
year = {1992},
editor = {Teun A. van Dijk and Teun A. van Dijk and Teun A. van Dijk and Teun
A. van Dijk and Teun A. van Dijk and Teun A. van Dijk and Teun A.
van Dijk and Teun A. van Dijk and Teun A. van Dijk and Teun A. van
Dijk and Teun A. van Dijk and Teun A. van Dijk and Teun A. van Dijk
and Teun A. van Dijk and Teun A. van Dijk and Teun A. van Dijk and
Teun A. van Dijk and Teun A. van Dijk and Teun A. van Dijk and Teun
and Teun A. van Dijk and Teun A. van Dijk and Teun A. van Dijk},
title = {Handbook of discourse analysis (Bd. 3/4)},
結果は次のようになります。
@INBOOK{Miller1992,
author = {Miller, Rowland S. und Mark R. Leary},
year = {1992},
editor = {Teun A. van Dijk},
title = {Handbook of discourse analysis (Bd. 3/4)},
テキストファイルには 70000 行あり、著者名は複数のエントリで使用できます。そのため、中かっこの間 (複数行にわたる) の重複のみを削除する必要があります。
author = {Miller, Rowland S. und Mark R. Leary and Miller, Rowland S. und Mark
R. Leary and Miller, Rowland S. und Mark R. Leary and Miller, Rowland
S. und Mark R. Leary and Miller, Rowland S. und Mark R. Leary and
Miller, Rowland S. und Mark R. Leary and Miller, Rowland S. und Mark
Miller, Rowland S. und Mark R. Leary},
重複する行を削除して中括弧間の重複する単語を削除する Python-Skript を変更しようとしましたが、行き詰まりました:
words_seen = set() # holds words already seen
outfile = open("literatur_clean.txt", "w")
for line in open("literatur_dupl.txt", "r"):
if ('{' in line or '}' in line
# some code to check whether the words are duplicate
outfile.close()