1

次のコードを実行して、テキスト ファイルの列の値を特定の数値 (この場合は 440) と比較します。

with open('test.txt', 'a+') as input:
 for line in input:
  columns = line.split(" ")
  print columns[5] #test
  if columns[5] == '440':
   print 'match'

test.txt は次のとおりです。

0 0 0 0 0 1
0 0 0 0 0 440
0 0 0 0 0 1   
0 0 0 0 0 440
0 0 0 0 0 1
0 0 0 0 0 1

print columns[5] ビットは txt ファイルから正しい値を出力しますが、440 に一致する場合でも、for ループ内の if は機能しません。

助けてくれてありがとう

4

1 に答える 1

5

あなたの 440 は最後尾なので、column[5] == '440\n'

比較する前に値を削除する必要があります。

if columns[5].strip() == '440':

または最初にそれを取り除きます:

columns = line.strip().split(" ")

または、すべての空白で分割される一般的な分割を使用します。

columns = line.split()

または、実際の数の比較を行います

if int(columns[5]) == 440:
于 2012-11-24T17:53:09.367 に答える