2011-12-19 5 views
2

나는 다음과 같은 코드파이썬은 출력 CSV

import csv 
cat_options = [row for row in csv.reader(open('catOptions.csv', 'r'), delimiter =',')] 
print cat_options 
new_cat = raw_input("\nEnter the new category: ") 
cat_options = csv.writer(open('catOptions.csv', 'a')) 
cat_options = cat_options.writerows(new_cat) 

다음과 CSV 파일에 추가하려고에 추가입니다 n g s

파일 "catOptions.csv"에는 주택 및 교통 수단이 있습니다. 나는 저축을 추가하려고 시도하고 원하는 결과를 얻지 못했습니다. 각 단어는 별도의 줄에 나타납니다. 그러나 다음 코드는 내게 원하는 결과를 제공하지만 효율적인 방법이 있는지 궁금합니다.

import csv 
cat_options = [row for row in csv.reader(open('catOptions.csv', 'r'), delimiter =',')] 
print cat_options 
new_cat = [] 
new_cat.append(raw_input("\nEnter the new category: ")) 
cat_options = csv.writer(open('catOptions.csv', 'a')) 
cat_options = cat_options.writerows([new_cat]) 

미리 감사드립니다.

답변

5

단일 행만 쓰고 싶다면 csvwriter.writerow()을 사용하십시오.

+0

그러나 행은 여러 항목으로 구성되어 있으므로 목록을 만들려고합니다. csv 작성자는 원하는 열의 수를 모르기 때문에 iterable을 전달할 것으로 기대합니다. 문자열은 반복 가능하며 개별 문자로 나뉩니다. –

+0

나는 그와 다음은 출력 "주택" "교통" "저축" "건강" "개인" "엔터테인먼트"입니다 시도 T, E, S, T 칼, 당신이 올바른지, 난 그것을 목록으로 사용해야합니다. –