2017-11-28 3 views
-1
import csv 
with open ('database1.csv', 'a', newline='') as csvfile: 
    linetowrite = username + "," + password + "," + dob + "," +\ 
        favartist + "," + favgenre 
    csvfile.write(linetowrite) 
csvfile.close() 

그건 내 코드입니다. 모든 입력은 괜찮지 만 뭔가 잘못된 것 같습니다. , 나 좀 도와 줄 수있어?내 코드가 CSV 파일의 새 줄에 쓰지 않고 그 옆에 같은 줄에 쓰고 있습니다

+0

당신은 결국'csvfile.close()'할 필요가 없습니다 ... –

+0

안녕하세요, 스택 오버플로를 환영합니다. [how to to ask] (https://stackoverflow.com/help/how-to-ask) 문서를 읽고 적절하게 질문을 수정하십시오. 기대하는 출력 예제를 제공하지 않고 단순히 코드를 디버깅하도록 요청할뿐입니다. 이것은 스택 오버 플로우가 의도 한 것이 아니며, 우리가 직면 한 특정 문제를 돕기 위해 여기에 있습니다. 일반적인 디버깅이나 지침을 제공하지 않습니다. –

+0

또한 누구든지 파일의 입력을 덮어 쓰는 방법을 알고 있습니까? –

답변

1

변경 csvfile.write(linetowrite)에서 csvfile.write(linetowrite + "\n")으로 변경하십시오. 이것은 개행 문자를 추가합니다.

+0

이 트릭이 작동하지만, 처음에 가져 오는 매우 유용한'csv' 모듈을 사용하는 것은 아닙니다 ... –

0

csv 모듈을 가져 오지만 실제로는 사용하지 마십시오. 이렇게하려면, 당신은이 같은 csv.writer을 만들어야합니다 : 당신은`with` 블록을 사용하고 같은

import csv 

with open('database1.csv', 'w', newline='') as csvfile: 
    csvfilewriter = csv.writer(csvfile) 
    csvfilewriter.writerow([username, password, dob, favartist, favgenre]) 
관련 문제