2014-07-22 2 views
0

Excel에서 추가 분석을 위해 .csv 파일로로드하려는 지리적 좌표가있는 .asc 파일 목록이 있습니다. 각 .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) 

그러나 이것은 (I 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은 Bayonet이라고 생각합니다. :) 그러나 진지하게 : 필자가 피벗 테이블 사용법을 익혔다면 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') 

확실하지 않음 경우, 그러나 그것은 작동합니다.

+0

저에게 pythonic은 문제가되지 않습니다. numpy는 텍스트 데이터를로드하는 방법을 제공하고이를 저장하는 방법을 제공하므로 선호되는 방법이 될 것입니다. 덧붙여서 팬더는 csv 데이터를 로딩 할 때 훨씬 빠르며 아마 쓰기도 쉽고, numpy보다 더 친숙한 API를 가지고있다. – EdChum

+1

예, API를 사용하면 항상 파이썬이다. :) – Chronial

관련 문제