2017-12-02 2 views
0

간단히 목록에서 csv 파일을 만들려고합니다. 다음은 샘플 코드입니다.Python csv writerow가 다중 열을 생성하지 않습니다.

import csv 

def funcc(data): 
    with open("sample.csv", "wb") as f: 
     writer = csv.writer(f) 
     writer.writerows(data) 

if __name__ == "__main__": 
    data = [['id', 'name', 'score'], 
      ['1', 'john', '2332'], 
      ['2', 'ned', '1213'], 
      ['3', 'rob', '8343']] 
    funcc(data) 

이렇게하면 출력이 생성되지만 모든 것이 하나의 열에 있습니다. 나는 많은 대답에 언급 된 바와 같이 csv.writer(f, delimiter=',')csv.writer(f, dialect='excel')을 사용해 보았지만 아무것도 작동하지 않는 것 같습니다.

출력

은 동일하게 유지 : all items in single column

내가 놓친 거지 뭔가가 아니면 잘하고 있지?

+0

CSV는 단순히 "쉼표로 구분"을 의미합니다. 파이썬의 "네이티브 (native)"파일 조작을 사용하여'csv' 모듈없이이 모든 것을 매우 쉽게 달성 할 수 있습니다. – goodvibration

+0

맞습니다. 'LibreOfffice'에서 여는 것을 놓친 부분에 대한 간단한 조각이었습니다. 형식이 맞습니다. 모든 것이 옳았습니다. 의도 한 결과물을 볼 수 없었기 때문에 뭔가 잘못되었다고 생각했습니다. – akashbw

+1

Python 2.x를 사용하고 있다면 파일은''w''뿐만 아니라''wb ''로 열어야합니다. –

답변

1

libreoffice에서이 파일을 열 때 가져 오기 설정이있는 대화 상자 창이 있습니다. 구분 기호를 변경하려고하면 괜찮을 것입니다.

+0

정보를 제공해 주셔서 감사 드리며 세부 사항을 놓치지 않고 지금 더 명확하게 볼 수 있습니다! :디 – akashbw

관련 문제