2011-01-07 2 views

답변

6

하지만 실제로는 csv가 아닙니다 (이스케이프 처리해야합니다).

10

표준 CSV 파일을 생성하려면 csv 모듈을 사용하십시오. 워드 프로세서에서


예 :

>>> import csv 
>>> spamWriter = csv.writer(open('eggs.csv', 'wb'), delimiter=' ', 
...       quotechar='|', quoting=csv.QUOTE_MINIMAL) 
>>> spamWriter.writerow(['Spam'] * 5 + ['Baked Beans']) 
>>> spamWriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) 
+0

그 빠른 예를 들어 주시겠습니까 –

+0

예. 답변에 추가되었습니다. 'foo.writerow (list)'를 사용하십시오.'foo'는'csv.writer' 객체입니다. – syrion

+1

IMHO "canonical"CSV는 쉼표를 구분 기호로 사용하며'' ''이 아니라''| ''가 아닌 quotechar로 사용됩니다. – martineau

0
파이썬 실제로 데이터를 버퍼링입니다 무엇을 파일에 데이터를 작성하고 다음 파일과의 I/O 작업을 수행 할 때마다
import csv 

def writeCsvFile(fname, data, *args, **kwargs): 
    """ 
    @param fname: string, name of file to write 
    @param data: list of list of items 

    Write data to file 
    """ 
    mycsv = csv.writer(open(fname, 'wb'), *args, **kwargs) 
    for row in data: 
     mycsv.writerow(row) 

mydat = (
    ['Name','Age','Grade'], 
    ['Teri', 14, 7], 
    ['John', 8, 2] 
) 

writeCsvFile(r'c:\test.csv', mydat) 
0

칼, (파일에 데이터 쓰기). 이 작업을 '플러시'(버퍼)라고합니다. 열린 파일을 close()하고 있는지 확인해야합니다. 그렇지 않으면 버퍼가 플러시되지 않으므로 파일에 아무 것도 쓰지 않습니다.

0

코드 열기 부분을 나눠서 나중에 별도로 닫을 수 있어야한다고 생각합니다. 이 경우 작성자 객체를 "닫으려고"시도하고 있습니다. 더 좋은 방법은 "with"를 사용하는 것이지만이 예는 사용자가 가지고있는 방식과 유사합니다.

csvfile = open('test.csv', 'wb') 
csvwriter = csv.writer(csvfile) 
for item in pct: 
    csvwriter.writerow(item) 
csvfile.close() 
관련 문제