Python에서 CSV 파일로 작업하기 위해 CSV 모듈을 어떻게 사용합니까?
Python의 CSV 모듈은 CSV 파일을 쉽게 읽고 쓰는 방법을 제공합니다. 1. CSV 파일을 읽을 때 CSV.Reader ()를 사용하여 한 줄씩 읽고 각 데이터 라인을 문자열 목록으로 반환 할 수 있습니다. 열 이름을 통해 데이터에 액세스 해야하는 경우 csv.dictreader ()를 사용하여 각 줄을 사전에 매핑 할 수 있습니다. 2. CSV 파일에 쓸 때 CSV.writer ()를 사용하고 Writerow () 또는 Writerows () 메소드를 사용하여 단일 또는 여러 행의 데이터를 작성하십시오. 사전 데이터를 작성하려면 CSV.DictWriter ()를 사용하려면 먼저 열 이름을 정의하고 writeHeader ()를 통해 헤더를 작성해야합니다. 3. 에지 케이스를 다룰 때 모듈은 인용 된 필드에서 쉼표와 라인이 자동으로 처리되지만 인용문 사용에주의를 기울입니다. 동시에 Windows에서 UTF-8-BOM과 같은 인코딩 문제에주의를 기울이고 빈 줄로 인한 문제를 피해야합니다. 파일을 열 때 항상 newline = ''를 설정하는 것이 좋습니다. 4. 모듈은 사용자 정의 구분자를 지원합니다. csv.register_dialect ()를 통해 사용자 정의 방언을 등록한 후 비표준 구분 측정기 (예 : 탭)로 분리 된 데이터 파일을 쉽게 처리 할 수 있습니다.
Python에서 CSV 파일로 작업하는 것은 내장 csv
모듈 덕분에 간단합니다. CSV 파일을 읽거나 쓰든이 모듈은 다른 것도 필요없이 가장 일반적인 작업을 처리하는 간단한 도구를 제공합니다.
CSV 파일을 읽습니다
CSV 파일에서 데이터를 가져 오려면 csv.reader()
함수가 이동 옵션입니다. 행으로 파일 행을 읽고 각 줄을 문자열 목록으로 제공합니다.
data.csv
라는 파일이 다음과 같이 보입니다.
이름, 나이, 위치 앨리스, 30, 뉴욕 밥, 25 세, 로스 앤젤레스 찰리, 35, 시카고
읽는 방법은 다음과 같습니다.
CSV 가져 오기 csvfile로 Open ( 'data.csv', newline = '')을 사용하여 : reader = csv.reader (csvfile) 리더의 행 : 인쇄 (행)
이것은 출력됩니다 :
[ '이름', '나이', '위치']] [ 'Alice', '30', 'New York'] [ '밥', '25', '로스 앤젤레스'] [ '찰리', '35', '시카고']
주목해야 할 몇 가지 사항 :
- 일부 플랫폼에서 빈 줄에 문제를 방지하기 위해 파일을 열 때
newline=''
사용해야합니다. - 각 행은 목록으로 리턴되므로 특정 값이 필요한 경우 목록에 색인 (예 : 연령의 경우
row[1]
)에 색인하십시오.
CSV가 헤더가 있고 이름이 지정된 필드로 작업하려면 각 행을 사전에 매핑하는 csv.DictReader
사용을 고려하십시오.
csvfile로 Open ( 'data.csv', newline = '')을 사용하여 : Reader = csv.dictreader (csvfile) 리더의 행 : print (row [ 'name'], row [ 'age'])
이제 인덱스 대신 키 값 쌍으로 작업하고 있습니다. 데이터에 열 이름이 명확한 경우 관리하기 쉽습니다.
CSV 파일에 쓰기
CSV 파일에 데이터를 작성하는 것은 csv.writer()
사용하는 것만 큼 쉽습니다. 작가 객체를 만든 다음 데이터 행을 전달합니다.
목록 목록이 있고 새 CSV 파일에 작성하고 싶다고 가정합니다.
데이터 = [ [ '이름', '에이지', '위치'], [ 'Alice', '30', 'New York'], [ '밥', '25', '로스 앤젤레스'] ]] csvfile로 Open ( 'output.csv', 'w', newline = '')를 사용하여 : Writer = csv.writer (csvfile) Writer.writerows (데이터)
다음과 같은 것처럼 보이는 파일을 얻을 수 있습니다.
이름, 나이, 위치 앨리스, 30, 뉴욕 밥, 25 세, 로스 앤젤레스
몇 가지 팁 :
-
'w'
모드를 사용하여 기존 파일을 덮어 쓰거나 새 파일을 작성하십시오. - 기존 CSV에 추가하려면
'a'
모드를 대신 사용하십시오. -
writerow()
메소드는 단일 행을 작성하고writerows()
한 번에 여러 행을 씁니다.
다시 말하지만, 목록 대신 사전을 쓰려면 csv.DictWriter
사용하십시오. 먼저 FieldsNames를 지정해야합니다.
FieldNames = [ 'name', 'age', 'location']]] csvfile로 Open ( 'output.csv', 'w', newline = '')를 사용하여 : Writer = csv.dictwriter (csvfile, fieldnames = fieldnames) Writer.writeHeader () Writer.writerow ({ 'name': 'Alice', 'Age': 30, 'location': 'New York'}))
처리 에지 케이스 처리
CSV 파일에는 때때로 인용 된 필드 내부에 쉼표가 포함되거나 셀 내에서 라인 파손도 포함됩니다. csv
모듈은 이러한 사례를 자동으로 처리하지만 모듈을 올바르게 사용하는 경우에만 가능합니다.
예를 들어, 셀 내부의 "Smith, John"
과 같은 이름이 쓰여지면 독자는 인용문이 파일에 올바르게 사용되는 한 여전히 단일 값으로 취급합니다.
또한 인코딩에주의하십시오.
- Windows, 특히 Excel-Gened CSV를 사용하면 UTF-8-BOM 문제가 발생할 수 있습니다. 이 경우
encoding='utf-8-sig'
로 파일을 엽니 다. - 영어가 아닌 캐릭터를 다루는 경우 읽기 및 쓰기 시점에 올바른 인코딩을 설정하십시오.
조심해야 할 또 다른 사항 : 빈 줄. 일부 CSV 독자 (Excel과 같은)는 추가 빈 줄을 잘못 해석 할 수 있습니다. 이를 피하려면 쓰기 모드에서 파일을 열 때 항상 newline=''
사용하십시오.
마지막으로, 방언을 잊지 마십시오. csv
모듈은 CSV가 비표준 구분자 (예 : 탭 또는 세미콜론)를 사용하는 경우 사용자 정의 방언을 지원합니다. 예를 들어:
csv.register_dialect ( 'myDialect', delimiter = '\ t', quoting = csv.quote_none) f : open ( 'data.tsv', newline = '')로 f : reader = csv.reader (f, dialect = 'myDialect')
이렇게하면 논리를 다시 작성하지 않고도 다른 형식에 맞게 csv
모듈을 조정할 수 있습니다.
이러한 기본 패턴은 대부분의 사용 사례를 다룹니다. 일단 편안한 후에는 한 CSV를 읽고, 데이터를 처리하고, 다른 사람에게 쓰는 것과 같은 결합을 시작할 수 있습니다. 그러나 여기서 멈추더라도 Python에서 CSV 파일을 처리하기위한 견고한 도구가 있습니다.
위 내용은 Python에서 CSV 파일로 작업하기 위해 CSV 모듈을 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT
더 현명한 결정을 위한 AI 기반 투자 연구

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

종속성 패키지를 설치하려면 pipinstall-rrequirements.txt를 실행하십시오. 충돌을 피하고, 파일 경로가 올바른지 확인하고 PIP가 업데이트되었는지 확인하고 필요한 경우 설치 동작을 조정하기 위해-no-deps 또는 --user와 같은 옵션을 사용하는 것이 좋습니다.

Python은 Python의 간단하고 강력한 테스트 도구입니다. 설치 후 테스트 파일은 이름 지정 규칙에 따라 자동으로 발견됩니다. 어설 션 테스트를 위해 test_로 시작하여 기능을 작성하고 @pytest.fixture를 사용하여 재사용 가능한 테스트 데이터를 생성하고 pytest.raises를 통해 예외를 확인하고 지정된 테스트 실행 및 여러 명령 줄 옵션을 지원하며 테스트 효율성을 향상시킵니다.

theargparsemoduleisecomedendedway handlecommand-lineargumentsinpython, robustparsing, typevalidation, helpmessages, anderrorhandling; audys.argvforsimplecaseSrequiringMinimalSetup을 제공합니다.

데이터 과학의 초보자에게는 "경험"에서 "업계 전문가"로의 도약의 핵심은 지속적인 실습입니다. 실습의 기초는 풍부하고 다양한 데이터 세트입니다. 다행히 인터넷에는 무료 공개 데이터 세트를 제공하는 많은 웹 사이트가 있으며 기술을 향상시키고 기술을 연마하는 데 유용한 리소스입니다.

목차 비트 코인 개선 제안 (BIP)이란 무엇입니까? BIP가 왜 그렇게 중요한가? 역사적 BIP 프로세스는 비트 코인 개선 제안 (BIP)에 어떻게 효과가 있습니까? BIP 유형 신호는 무엇이며 광부는 어떻게 보내나요? BITCOIN 개선 제안 또는 "BIP"라는 시스템을 통해 2011 년부터 BIP 결론에 대한 빠른 시험의 Taproot 및 Cons는 2011 년부터 개선되었습니다. 비트 코인 개선 제안 (BIP)은 비트 코인이 일반적으로 어떻게 발전 할 수 있는지에 대한 지침을 제공하며, 두 가지 유형의 BIP가 있습니다. 그 중 두 가지 유형은 비트 코인의 기술 변화와 관련이 있습니다.

빅 데이터 분석은 멀티 코어 CPU, 대용량 메모리 및 계층 스토리지에 중점을 두어야합니다. 코어 수와 단일 코어 성능을 고려하여 Amdepyc 또는 Ryzenthreadripper와 같은 멀티 코어 프로세서가 선호됩니다. 메모리는 64GB로 시작하는 것이 좋습니다. 데이터 무결성을 보장하기 위해 ECC 메모리가 권장됩니다. 스토리지는 NVMESSD (시스템 및 핫 데이터), SATASSD (공통 데이터) 및 HDD (콜드 데이터)를 사용하여 전반적인 처리 효율을 향상시킵니다.

import@contextManagerFromContextLibandDefineAgeneratorFunctionThatYieldSActlyOnce, whereCodeBeforeYieldActSasEnterAndErandCodeftertyield (바람직하게는) ACTSAS__EXIT __

repetitivetasksworthautomating, suchasorganizingfileSordingEmails, succurnificernificanttime.2.useappropriatepythonlibraries -libraries -libraries likeos, shutil, glob, smtplib, beautifulsoup, andseleniumforfileoperations, w
