皆さん、私は以下の形式の大きなファイルを持っています。データは「ブロック」形式です。時間T、ユーザーU、コンテンツWの3つの行を含む1つの「ブロック」。たとえば、これはブロックです。
T 2009-06-11 21:57:23
U tracygazzard
W David Letterman is good man
特定のキーワードを含むブロックのみを使用するためです。データ全体をメモリにダンプするのではなく、元の大量のデータからブロックごとにデータをスライスします。毎回1つのブロックを読み取り、「バイク」という単語を含むコンテンツの行の場合は、このブロックをディスクに書き込みます。
次の2つのブロックを使用して、スクリプトをテストできます。
T 2009-06-11 21:57:23
U tracygazzard
W David Letterman is good man
T 2009-06-11 21:57:23
U charilie
W i want a bike
私は行ごとに作業をしようとしました:
data = open("OWS.txt", 'r')
output = open("result.txt", 'w')
for line in data:
if line.find("bike")!= -1:
output.write(line)