> 백엔드 개발 > 파이썬 튜토리얼 > Excel에서 열리는 Python 생성 CSV 파일에서 빈 줄을 방지하려면 어떻게 해야 합니까?

Excel에서 열리는 Python 생성 CSV 파일에서 빈 줄을 방지하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-12-30 01:18:10
원래의
937명이 탐색했습니다.

How Can I Prevent Blank Lines in Python-Generated CSV Files Opened in Excel?

Python으로 작성된 CSV 파일에서 빈 줄 방지

Python으로 CSV 파일을 작성할 때 결과 파일을 Microsoft Excel에서 열면 행 사이에 빈 줄이 나타날 수 있습니다. 이 문서에서는 이 문제가 발생하는 이유를 설명하고 추가 빈 줄을 억제하는 솔루션을 제공합니다.

빈 줄의 원인

문제는 Python이 CSV 파일에서 줄 끝을 처리하는 방식에 있습니다. csv.writer 모듈은 줄 끝을 직접 제어하며 기본적으로 파일에 캐리지 리턴(r)과 줄 바꿈(n)을 모두 추가하여 Excel에 추가 빈 줄이 생성됩니다.

Windows용 솔루션

Windows 시스템의 경우 Python 파일은 newline='' 매개변수를 사용하여 번역되지 않은 텍스트 모드로 열어야 합니다. 이 매개변수는 Python에 기본 개행 문자(n)를 Windows 관련 개행 시퀀스(rn)로 변환하지 않도록 지시합니다.

with 문 사용:

with open('/pythonwork/thefile_subset11.csv', 'w', newline='') as outfile:
    writer = csv.writer(outfile)
로그인 후 복사

경로 모듈 사용:

from pathlib import Path

with Path('/pythonwork/thefile_subset11.csv').open('w', newline='') as outfile:
    writer = csv.writer(outfile)
로그인 후 복사

솔루션 Python 2(Windows 및 비Windows)

Python 2의 경우 바이너리 모드를 사용하여 출력 파일('wb')을 엽니다. 이렇게 하면 Python이 줄 끝을 번역하지 못하게 됩니다.

with open('/pythonwork/thefile_subset11.csv', 'wb') as outfile:
    writer = csv.writer(outfile)
로그인 후 복사

추가 참고 사항

  • StringIO를 사용하여 메모리 내 버퍼에 데이터를 쓰는 경우 결과 문자열에는 번역된 개행 시퀀스가 ​​포함됩니다. (예: Windows에서는 'rn') 이를 방지하려면 파일에 버퍼를 쓸 때 newline=''을 사용하세요.
  • Python 2에서 CSV 파일의 유니코드 문자를 처리하려면 유니코드 관련 문제로 인해 추가 해결 방법이 필요합니다. 이러한 목적으로 타사 unicodecsv 모듈을 사용하는 것이 좋습니다.

문서 링크

  • https://docs.python.org/3/library/csv.html#csv.writer
  • https://docs.python.org/2/library /csv.html#csv.writer

위 내용은 Excel에서 열리는 Python 생성 CSV 파일에서 빈 줄을 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿