2016-10-10 11 views
0
#!/usr/bin/env python 

import sys 

# input comes from STDIN (standard input) 
for line in sys.stdin: 
    line = line.strip() 
    words = line.split() 
    fulldate = words[1] 
    year = fulldate[0:4] 
    print '%s\t%s' % (year, words[15]) 

ワード[15]にマップされている値は、16列目からのtxtファイルの温度値です(0〜 15)。 ftp://ftp.ncdc.noaa.gov/pub/data/uscrn/products/daily01/2010/CRND0103-2010-AK_St._Paul_4_NE.txtハーフマップマップ削除の値がマッパーよりも小さいかまたはそれよりも大きい

ご覧のとおり、最初の10-20の結果は、-9999を示しています。残りは0〜100の数字です。

これらの-9999の値を除外してから、レデューサーに送信します。これどうやってするの?

答えて

0

あなたが望まないものをスキップするのはかなりシンプルにすべきです。

#!/usr/bin/env python 

import sys 

# input comes from STDIN (standard input) 
for line in sys.stdin: 
    line = line.strip() 
    words = line.split() 
    fulldate = words[1] 
    year = fulldate[0:4] 
    if words[15] >= 0 && words[15] <= 100 
     print '%s\t%s' % (year, words[15]) 

各入力レコードの出力を生成する、あるいは各入力に対して複数の出力レコードを生成しないように細かいです(:値が希望の範囲内にない場合は、単に例えば、それを印刷しないでくださいアプリケーションがそれを必要とする場合、複数の印刷を行うことによって)。

関連する問題