2016-10-06 5 views
0

私は以下のプログラムをpythonで持っています。これは配列から値を出力することになっています。変数を1つの大きな変数に連結してPythonで返します

**************************** 
count is 1 
val is 0.51 
count is 2 
val is 0.69 
count is 3 
val is 0.83 
**************************** 
count is 1 
val is 0.7 
count is 2 
val is 0.59 
count is 3 
val is 0.93 
***************************** 

は、今私は私がvalのすべての変数を連結文字列変数を持っているようにPythonスクリプトを設定したい:

import sys 
from datetime import * 
import pprint 
txtfile=sys.argv[1] 
f = open(txtfile,'r') 
lines=f.readlines() 
f.close 

for line in lines: 
    col = line.split(',') 
    wrow=[] 
    grid=[] 

    lon=int(round(float(col[0]),0)) 
    lat=int(round(float(col[1]),0)) 
    val=float(col[2]) 
    my_tuple=(lon,lat,val) 
    wrow.append(my_tuple) 

    if(len(wrow)==720): 
     row = wrow[0:] + wrow[:720] 
     grid.append(row) 
     wrow=[] 
     row=[] 

    if(len(grid)==360): 
      grid.reverse() 
     for row in grid: 
      string='' 
      i=1 
      for mytuple in row: 
       print "count is ",i 
       val=str(mytuple[2]) 
       print "val is ",val 
       #string = string + val + '\t' 
       #print "string is ",string 
       i=i+1 
       if(i==4): 
        print "****************************" 
        string = string + val + '\t' 
        #print string 
        #string = string + '\n' 
        i=1 
       else: 
        string = string + '\n' 
        #print string 
      #pprint.pprint(grid) 
      grid=[] 
      wrow=[] 



exit() 

は、このプログラムの出力は次のようになります。したがって、私が持っているされています。これを行うには、このスクリプトを微調整する方法について

******************************* 
0.51 0.69 0.83 
******************************* 
0.7 0.59 0.93 

任意のアイデア:

print "***************************" 
print string 

私は出力を得るのでしょうか?

答えて

2

ループやジョインをすべて同じ行に置く必要がありますが、それほど悪くはありません。私は次のようなことをします:

tuples = [(1, .51), (2, 0.69), (3, 0.83)] 
joined = " ".join([repr(x[1]) for x in tuples]) 
print (joined) 

'0.51 0.69 0.83' 
関連する問題