모듈 내용 ¶
csv
모듈은 다음 기능을 정의합니다.
csv.
reader
(csvfile, dialect = “excel”, ** fmtparams ) ¶
Return a reader object that will iterate over line in the given csvfile.csvfile can be any object that supports the iterator protocol and returns astring every time the __next__()
method is called — 파일 개체와 목록 개체가 모두 적합합니다. csvfile이 파일 객체 인 경우 newline=""
로 열어야합니다. 1 특정 CSV 방언에 특정한 매개 변수 세트를 정의하는 데 사용되는 선택적 dialect 매개 변수를 제공 할 수 있습니다. Dialect
클래스의 하위 클래스 인스턴스이거나 list_dialects()
함수에 의해 반환 된 문자열 중 하나 일 수 있습니다. 다른 선택적 fmtparams 키워드 인수를 지정하여 currentdialect의 개별 형식 지정 매개 변수를 재정의 할 수 있습니다. dialect 및 형식화 매개 변수에 대한 자세한 내용은 Dialects and Formatting Parameters 섹션을 참조하십시오.
csv 파일에서 읽은 각 행은 문자열 목록으로 반환됩니다. QUOTE_NONNUMERIC
형식 옵션이 지정되지 않으면 자동 데이터 유형 변환이 수행되지 않습니다 (이 경우 인용되지 않은 필드가 부동 소수점으로 변환 됨).
간단한 사용 예 :
csv.
writer
(csvfile, dialect = “excel”, ** fmtparams) ¶
변환을 담당하는 작성기 객체를 반환합니다. 사용자의 데이터를 주어진 파일 류 객체의 구분 된 문자열로 변환합니다. csvfile은 write()
메소드가있는 모든 객체가 될 수 있습니다. csvfile이 파일 객체 인 경우 newline=""
1로 열어야합니다. 특정 CSV 방언에 특정한 매개 변수 집합을 정의하는 데 사용되는 선택적 dialect 매개 변수를 지정할 수 있습니다. Dialect
클래스의 하위 클래스 인스턴스이거나 list_dialects()
함수에서 반환 된 문자열 중 하나 일 수 있습니다. 다른 선택적 fmtparams 키워드 인수를 지정하여 currentdialect의 개별 형식 지정 매개 변수를 재정의 할 수 있습니다. dialect 및 형식화 매개 변수에 대한 자세한 내용은 Dialects and Formatting Parameters 섹션을 참조하십시오. DB API를 구현하는 모듈과 쉽게 인터페이스 할 수 있도록 None
값이 빈 문자열로 작성됩니다. 이 변환은 가역적 변환이 아니지만 cursor.fetch*
호출에서 반환 된 데이터를 전처리하지 않고 SQL NULL 데이터 값을 CSV 파일에 쉽게 덤프 할 수 있습니다. str()
작성하기 전에
간단한 사용 예 :
csv.
register_dialect
(이름]) ¶
방언을 이름과 연결합니다. 이름은 문자열이어야합니다. 방언은 Dialect
의 하위 클래스를 전달하거나 fmtparams 키워드 인수를 전달하거나 둘 다 전달하여 키워드 인수가 방언의 매개 변수를 재정 의하여 지정할 수 있습니다. 방언 및 형식 매개 변수에 대한 자세한 내용은 방언 및 형식 매개 변수 섹션을 참조하세요.
csv.
unregister_dialect
(이름) ¶
방언 레지스트리에서 이름과 관련된 방언을 삭제합니다. 이름이 등록 된 방언 이름이 아닌 경우 Error
가 발생합니다.
csv.
get_dialect
(name) ¶
이름과 관련된 방언을 반환합니다. 이름이 등록 된 방언 이름이 아닌 경우 Error
가 발생합니다. 이 함수는 변경 불가능한 Dialect
를 반환합니다.
csv.
list_dialects
() ¶
등록 된 모든 방언의 이름을 반환합니다.
csv.
field_size_limit
() ¶
현재 최대 필드 크기를 반환합니다. 파서에서 허용합니다. new_limit가 주어지면 이것이 새로운 제한이됩니다.
csv
모듈은 다음 클래스를 정의합니다.
class csv.
DictReader
(f, fieldnames = None, restkey = None, restval = None, dialect = “excel”, * args, ** kwds) ¶
객체 만들기 일반 리더처럼 작동하지만 각 행의 정보를 선택적 fieldnames 매개 변수에 의해 키가 제공되는 dict
에 매핑합니다.
fieldnames 매개 변수는 시퀀스입니다. 필드 이름이 생략되면 파일 f의 첫 번째 행에있는 값이 필드 이름으로 사용됩니다. 필드 이름이 결정되는 방법에 관계없이 사전은 원래 순서를 유지합니다.
행에 필드 이름보다 많은 필드가있는 경우 나머지 데이터는 목록에 배치되고 restkey로 지정된 필드 이름 (기본값 : None
). 비어 있지 않은 행에 필드 이름보다 필드가 적 으면 누락 된 값이 restval 값으로 채워집니다 (기본값 : None
).
다른 모든 선택적 또는 키워드 인수는 기본 reader
인스턴스로 전달됩니다.
버전 3.6에서 변경 : 반환 된 행은 이제 OrderedDict
유형입니다.
버전 3.8에서 변경 : 반환 된 행이 이제 dict
.
간단한 사용 예 :
class csv.
DictWriter
( f, fieldnames, restval = “”, extrasaction = “raise”, dialect = “excel”, * args, ** kwds) ¶
일반 작성자처럼 작동하지만 출력 행에 사전을 매핑하는 객체를 만듭니다. fieldnames 매개 변수는 writerow()
메소드에 전달 된 사전의 값이 filef에 기록되는 순서를 식별하는 키의 sequence
입니다. 선택적 restval 매개 변수는 사전에 fieldnames의 키가 누락 된 경우 작성할 값을 지정합니다. writerow()
메소드에 전달 된 사전에 infieldnames를 찾을 수없는 키가 포함 된 경우 선택적 extrasaction 매개 변수는 수행 할 작업을 나타냅니다. "raise"
, 기본값 인 ValueError
가 발생합니다. "ignore"
로 설정하면 사전의 추가 값이 무시됩니다. 선택적 또는 키워드 인수는 기본 writer
인스턴스로 전달됩니다.
DictReader
클래스와 달리 필드 이름은 DictWriter
클래스의 매개 변수는 선택 사항이 아닙니다.
간단한 사용 예 :
class csv.
Dialect
¶
Dialect
클래스는 주로 itsattributes에 의존하는 컨테이너 클래스로, 특정
또는 writer
인스턴스.
클래스 csv.
excel
¶
excel
클래스는 Excel에서 생성 된 CSV 파일의 일반적인 속성을 정의합니다. 방언 이름 "excel"
로 등록됩니다.
class csv.
excel_tab
¶
excel_tab
클래스는 Excel에서 생성 된 TAB 구분 파일의 일반적인 속성을 정의합니다. 방언 이름 "excel-tab"
로 등록됩니다.
class csv.
unix_dialect
¶
unix_dialect
클래스는 UNIX 시스템에서 생성되는 CSV 파일의 일반적인 속성을 정의합니다. 즉, "\n"
를 줄 종결 자로 사용하고 모든 필드를 인용합니다. 방언 이름 "unix"
로 등록됩니다.
버전 3.2의 새로운 기능.
class csv.
Sniffer
¶
Sniffer
클래스는 CSV 파일의 형식을 추론하는 데 사용됩니다.
Sniffer
클래스는 두 가지 방법을 제공합니다.
sniff
(sample, delimiters = None) ¶
Analyze 주어진 샘플과 발견 된 매개 변수를 반영하는 Dialect
하위 클래스를 반환합니다. 선택적 구분자 매개 변수가 제공되면 유효한 구분자 문자를 포함하는 문자열로 해석됩니다.
has_header
(샘플) ¶
샘플 텍스트 분석 ( CSV 형식) 및 반환 True
첫 번째 행이 일련의 열 헤더 인 경우
Sniffer
사용 :
csv
모듈은 다음 상수를 정의합니다.
csv.
QUOTE_ALL
¶
writer
개체에 모든 필드를 인용하도록 지시합니다.
csv.
QUOTE_MINIMAL
¶
writer
객체에 구분 기호, quotechar 또는 임의의 문자 인라인 터미네이터와 같은 특수 문자를 포함하는 필드 만 인용하도록 지시합니다.
csv.
QUOTE_NONNUMERIC
¶
writer
객체가 숫자가 아닌 모든 필드를 인용하도록 지시합니다. .
독자가 전환하도록 지시합니다. 인용되지 않은 모든 필드에 float를 입력합니다.
csv.
QUOTE_NONE
¶
개체는 필드를 인용하지 않습니다. currentdelimiter가 출력 데이터에서 발생하면 현재 이스케이프 문자가 앞에옵니다. escapechar가 설정되지 않은 경우 이스케이프가 필요한 문자가 있으면 작성기가 Error
를 발생시킵니다.
지시 reader
따옴표 문자의 특별한 처리를 수행하지 않습니다.
csv
모듈은 다음 예외를 정의합니다.
exception csv.
Error