python에서 csv로 출력하고 싶다고 하면 열에 아홉은 pandas를 쓰라고 하지만
가끔 알 수 없는 에러나 뭐 이런저런 이유로 python의 기본 모듈인 csv를 써야할 때가 있다
근데 그럼 꼭 출력된 파일 확인할 때 엔터가 두 번 쳐진것처럼 개행문자(\n)가 두 개씩 출력됨
일단 결론
import csv
...
with open('output.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
...
찾아본건 아니긴한데 추측해보자면 open으로 연 파일포인터의 newline 파라미터의 디폴트값도 \n이고 csv writer의 newline 디폴트값도 \n이라서 그런거같음
출처: https://stackoverflow.com/questions/3191528/csv-in-python-adding-an-extra-carriage-return-on-windows
참고로 출처 들어가보면 방법이 하나 더 있음
wb 모드 이용해서 하는 것 같은데 newline으로 안되는 경우 생기면 써볼만한듯
'매번 찾기 귀찮아서 모아두는 개발팁' 카테고리의 다른 글
[Python/urllib] urlopen으로 한글(non-ASCII chracter)이 포함된 url 열기 (0) | 2023.03.22 |
---|---|
[Python] jsonl 파일 읽고 쓰기 (1) | 2023.03.15 |
[Python] 예외처리 (0) | 2023.03.02 |
[Python/Pandas] 다중 조건으로 데이터 행 추출하기(indexing with multidimensional key) (0) | 2023.03.02 |
[Python] 특수문자 제거 (0) | 2023.01.31 |