2013-10-10 2 views
6

히스토그램을 CSV 파일로 작성해야하는 데이터를 작성하고 싶습니다. 나는 '빈'목록을 가지고 있으며 내 '빈도'목록을 가지고 있습니다. 누군가가 나를 각자의 열에있는 csv에 쓸 수있는 도움을 줄 수 있습니까? 두 번째 열에서 첫 번째 열 및 주파수두 목록의 데이터를 CSV 형식으로 열에 쓰려면?

즉 쓰레기통

+1

지금까지 무엇을 시도 했습니까? –

+0

무엇을 위해 Upvoted? –

+0

빈 및 빈도 목록 (숫자, 문자열, 목록, 사전, 클래스의 인스턴스 등)에는 어떤 종류의 데이터가 있습니까? 질문에 대한 더 자세한 정보를 얻을수록 더 나은 답변을 얻을 수 있습니다. – martineau

답변

12

. 또한 적절한 도망기를 보장하는 Python's built in csv module을 사용합니다. 추가 보너스로 모든 루프를 사용하지 않으므로 코드가 짧고 간결합니다.

import csv 
from itertools import izip 

with open('some.csv', 'wb') as f: 
    writer = csv.writer(f) 
    writer.writerows(izip(bins, frequencies)) 
+0

감사합니다. 나는 미래의 질문에 더 많은 세부 사항을 추가하려고 노력할 것이며, 궁금한 점이 있다면 그것이 얼마나 애매한지를 알 수있을 것이다. –

2

당신이 우편()와 같은 http://docs.python.org/2/library/functions.html#zip

것을 사용해야합니다

f=open(my_filename,'w') 
for i,j in zip(bins,frequencies): 
    f.write(str(i)+","+str(j)) 
f.close() 
+1

그는 빈 라벨이 무엇인지에 관해서는 우리에게 아무 것도 말하지 않았기 때문에 여기서는'csv'를 사용하고 싶습니다. 그렇지 않으면' "a = 0-10, b = 0-10"'과 같은 빈은 두 개의 열로 끝납니다. – abarnert

+0

@abarnert : agree – Pixou

3

흠을, 내가 뭔가를 놓친 게 뭐죠? 이것은 매우 간단 소리 :이 예제에서는 새 목록을 작성하고, 메모리에 보관하는 것을 방지하기 위해 (대신 zip의) izip을 사용

bins = [ 1,2,3,4,5 ] 
freq = [ 9,8,7,6,5 ] 

f = open("test.csv", "w") 

for i in xrange(len(bins)): 
    f.write("{} {}\n".format(bins[i], freq[i])) 

f.close() 
관련 문제