2012-09-02 3 views
4

다음과 같이 나는 문자열 목록이있는 경우 :쓰기 목록

data = ['a,x', 'b,y', 'c,z'] 
f = open('data.csv', 'wb') 
w = csv.writer(f, delimiter = ',') 
w.writerow(data) 
f.close() 

문제는 그들이이 같은 한 줄에 3 세포에 저장되어 있습니다 : (" "하나

엑셀 셀)"는, X ""B, Y ""C, z는 "

내가 정말 원하는 것은 다음과 같다 :

"A ""X "

"B", "Y"

"C", "Z"

때문에 별도의 세포 분리 라인에있다. 아무도 이것을 정확하게하는 방법을 알고 있습니까?

+0

그렇다고해서 CSV가 작동하지 않습니다. –

답변

10

목록 (행) 목록을 만들고 모두 writerows을 사용하여 작성할 수 있습니다. 또는 개별적으로 모두 작성하십시오. 중요한 부분은 쉼표로 구분 된 값이있는 문자열이 아니라 행이 파이썬 목록이라는 것입니다.

data = ['a,x', 'b,y', 'c,z'] 
f = open('data.csv', 'wb') 
w = csv.writer(f, delimiter = ',') 
w.writerows([x.split(',') for x in data]) 
f.close() 
+0

고마워요. 그게 내가 필요한거야. – ezbentley

0

다음은 문자열에 적용됩니다.

import csv 
    data = ["Apparels,Clothings,Materials,Bazaar,Saree,Salwars"] 
    f = open('data.csv', 'w') 
    w = csv.writer(f, delimiter = ',') 
    w.writerows([x.split(',') for x in data]) 
    f.close()