2014-07-22 70 views
0

我有一個帶地理座標的.asc文件列表,我想將其加載到.csv文件中以便在Excel中進一步分析。每個.asc文件包含大約2000行。使用csv將numpy數組寫入文件

list_files = ['./p2c0765f029.asc',..., './p2c0781f029.asc'] 


with open('output_file.csv', 'a+') as outfile: 
    for file in list_files: 
     file_in = loadtxt(file, usecols = (1,2), comments = "#")  
     csvwriter = csv.writer(outfile, delimiter = ' ') 
     csvwriter.writerow('%s\n' % file_in) 

然而這個輸出,其中每個陣列存儲在一行(當我在Excel中打開文件)的文件。

[ [ " " - 8 . 7 9 8 4 5 4 5 0 e + 0 1 " " " " " " 9 . 5 5 1 5 5 4 8 0 e + 0 1 " " " " ]] 

我該如何實現這個,使numpy數組中的每一行都寫在一行中?我也想擺脫"[]並輸出只有座標。

+0

你有numpy,你想在excel中做更多的anaysis嗎?哎...讓我翻譯它的聲音。我有一把自動機槍,我想用長矛狩獵。 – Oz123

+2

http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html不是做你想做的事嗎? – EdChum

+0

@ Oz123認爲它更像一個刺刀:)。但嚴重的是:我猜如果你在使用數據透視表方面接受過培訓,那麼你可以在Excel中更快更簡單地進行很多分析。 – Chronial

回答

3

使用numpy.savetxt我得到我所需要的輸出:如果

with open('output_file.txt', 'a+') as outfile: 
    for file in list_files: 
     file_in = loadtxt(file, usecols = (1,2), comments = "#")  
     np.savetxt(outfile, file_in, delimiter=' ', newline='\n') 

不知道它是最Python的方式,但它的作品。

+0

對我來說pythonic在這裏不是問題,numpy提供了一種加載文本數據的方法並提供了一種保存方法,因此這將是首選方法。順便提一下,熊貓在加載csv數據時速度要快得多,並且可能寫出來,它比numpy更友好api – EdChum

+1

是的,使用api總是pythonic :)。 – Chronial