1
私はファイルから読み込んでおり、出力の各3行目は前の2行の組み合わせでなければならないので、各行だけを読みたいと思います。これは小さな一例です:Python:入力ファイルの繰り返し行をスキップする方法は?
Input:
<www.example.com/apple> <Anything>
<www.example.com/banana> <Anything>
Output:
<www.example.com/apple> <Anything>
<www.example.com/banana> <Anything>
<Apple> <Banana>
ラインのいずれかが繰り返された場合、またはそれが空行である場合は、その後、私はそれを処理したくない、私は2つの異なる行ごとに取得したいです。
これが私の本当の入力の一部です:
この場合<http://catalog.data.gov/bread> <http://dbpedia.org>
<http://catalog.data.gov/bread> <http://dbpedia.org>
<http://catalog.data.gov/bread> <http://dbpedia.org>
<http://catalog.data.gov/bread> <http://dbpedia.org>
<http://catalog.data.gov/roll> <http://dbpedia.org>
<http://catalog.data.gov/roll> <http://dbpedia.org>
私は、出力は次のようになりたい:
<http://catalog.data.gov/bread> <http://dbpedia.org>
<http://catalog.data.gov/roll> <http://dbpedia.org>
<bread> <roll>
は、これは私のコードです:
file = open('rdfs.txt')
for id, line in enumerate(file):
if id % 2 == 0:
if line.isspace():
continue
line1 = line.split()
sub_line1, rel_line1 = line1[0], line1[1]
sub_line1 = sub_line1.lstrip("<").rstrip(">")
print(sub_line1)
else:
if line.isspace():
continue
line2 = line.split()
sub_line2, rel_line2 = line2[0], line2[1]
sub_line2 = sub_line2.lstrip("<").rstrip(">")
print(sub_line2)
それは完璧に動作していますが、私はすべての行を取得しています.2行目が行に等しいかどうかを追加してから、すべてをスキップします彼はあなたが新しい異なった線を見つけるまで線を引く。私は今取得しています
出力:
http://catalog.data.gov/bread
http://catalog.data.gov/bread
http://catalog.data.gov/roll
http://catalog.data.gov/roll
感謝!!
これは私に良いアイデアを与えました。どうもありがとう!!!! – codeDojo
よろしくお願いします。 –