CSV 파일을 작성하는 Python 코드에서 각 행에 Windows 시스템의 추가 캐리지 리턴("r"). 이러한 예상치 못한 동작으로 인해 생성된 CSV 파일이 일부 애플리케이션이나 시스템과 호환되지 않을 수 있습니다.
이런 일이 발생하는 이유를 이해하려면 제공된 코드 조각을 분석해 보겠습니다.
import csv with open('test.csv', 'w') as outfile: writer = csv.writer(outfile, delimiter=',', quoting=csv.QUOTE_MINIMAL) writer.writerow(['hi', 'dude']) writer.writerow(['hi2', 'dude2'])
Python 3에서는 기본 CSV 작성 동작은 범용 개행 번역을 사용하는 것입니다. 즉, Windows에서는 "rn" 줄 종결자가 자동으로 단일 "n"으로 변환됩니다. 그러나 "w" 모드로 파일을 열면 이 번역이 비활성화됩니다. 결과적으로 작성자는 각 행 뒤에 "rn"을 추가합니다.
범용 개행 번역을 비활성화하려면 파일을 열 때 newline='' 매개변수를 사용하세요.
with open('output.csv', 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f) ...
Python 2의 경우 , Windows에서 CSV 읽기 또는 쓰기를 위해 파일을 열 때 바이너리 모드("rb" 또는 "wb")를 사용해야 합니다.
with open('test.csv', 'wb') as outfile: writer = csv.writer(outfile, delimiter=',', quoting=csv.QUOTE_MINIMAL) ...
By 바이너리 모드로 파일을 열면 개행 변환이 방지되어 "rn"이 의도한 대로 파일에 기록됩니다.
위 내용은 Windows에서 내 CSV 파일에 추가 캐리지 리턴이 추가되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!