이 글은 주로 csv 파일 쓰기 및 읽기와 관련된 문제를 소개하는 python에 대한 관련 지식을 제공합니다. CSV는 숫자 또는 문자를 포함한 테이블 데이터를 저장하는 데 일반적으로 사용되는 텍스트 형식입니다.
추천 학습: python tutorial
CSV(Comma Separated Values)는 문자로 구분된 값(구분 기호가 쉼표가 아닐 수 있으므로 문자로 구분된 값이라고도 함)으로도 알려져 있습니다. 숫자나 문자를 포함하여 표 형식 데이터 저장에 일반적으로 사용되는 텍스트 형식입니다. 많은 프로그램에서는 데이터를 처리할 때 csv 형식의 파일을 접하게 됩니다. Python에는 csv 파일 읽기를 처리하는 데 특별히 사용되는 csv 모듈이 함께 제공됩니다.
작성기 개체를 생성하면 두 가지 주요 메서드가 사용됩니다. 하나는 한 줄을 쓰는 writerow입니다. 다른 하나는 여러 줄을 쓰는 writerows입니다
DictWriter를 사용하여 사전을 사용하여 데이터를 씁니다
첫 번째 쓰기 방법에 대해 먼저 이야기해 보겠습니다. 작가 객체를 생성하여 쓰기 (한 번에 한 행 쓰기)
단계 : 1. 데이터 및 헤더 생성 2. 작성기 개체 생성 3. 헤더 쓰기 4. 목록을 순회하고 각 데이터 행을 csv에 씁니다
코드는 다음과 같습니다.
import csv person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8') as file_obj: # 1:创建writer对象 writer = csv.writer(file_obj) # 2:写表头 writer.writerow(header) # 3:遍历列表,将每一行的数据写入csv for p in person: writer.writerow(p)
쓰기 후에는 person.csv 파일이 현재 디렉터리에 나타납니다. Explorer에서 show를 마우스 오른쪽 버튼으로 클릭하면 person.csv를 열 수 있습니다.
열면 작성된 데이터에 다음 줄이 표시됩니다.
놀랍게도: 그러면 이 문제를 어떻게 해결해야 합니까
해커: 매우 간단합니다
데이터를 쓸 때 매개변수만 추가하면 됩니다 newline='' 개행 쓰기를 방지하려면
수정된 코드는 다음과 같습니다.
import csv# 数据person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj: # 创建对象 writer = csv.writer(file_obj) # 写表头 writer.writerow(header) # 遍历,将每一行的数据写入csv for p in person: writer.writerow(p)
✅작성기 객체 생성(한 번에 여러 행 쓰기)
단계: 1. 데이터 및 테이블 헤더 생성 2. 기록기 객체 생성 3. 테이블 헤더 쓰기 4. writerows에 원하는 내용 전달 처리된 데이터
import csv# 数据person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj: # 创建对象 writer = csv.writer(file_obj) # 写表头 writer.writerow(header) # 3.写入数据(一次性写入多行) writer.writerows(person)
쓰기 결과는 다음과 같습니다.
참고: 사전을 사용하여 쓰기에 주의하세요. 전달된 데이터 형식은 사전이어야 합니다
사전이 아니면 오류가 보고됩니다
AttributeError: 'tuple' 객체에 'keys' 속성이 없습니다
단계1. 데이터 및 헤더를 생성해야 합니다. 사전 형식이어야 합니다 )2. DictWriter 객체 생성 3. 헤더 쓰기 4. 데이터 쓰기
import csv# 数据person = [ {'name': 'xxx', 'age': 18, 'height': 193}, {'name': 'yyy', 'age': 18, 'height': 182}, {'name': 'zzz', 'age': 19, 'height': 185},]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj: # 1.创建DicetWriter对象 dictWriter = csv.DictWriter(file_obj, header) # 2.写表头 dictWriter.writeheader() # 3.写入数据(一次性写入多行) dictWriter.writerows(person)
import csvwith open('person.csv', 'r', encoding='utf-8') as file_obj: # 1.创建reader对象 reader = csv.reader(file_obj) print(reader)
<_csv.reader>)를 순회해야 합니다. 수정된 코드는 다음과 같습니다.
import csvwith open('person.csv', 'r', encoding='utf-8') as file_obj: # 1.创建reader对象 reader = csv.reader(file_obj) # 2.遍历进行读取数据 for r in reader: print(r)읽기 결과는 다음과 같습니다.
['name', 'age', 'height']['xxx', '18', '193']['yyy', '18', '182']['zzz', '19', '185']원하는 경우 목록에서 특정 값을 인쇄하려면 인덱스 인쇄를 사용할 수 있습니다
print(r[0])
name xxx yyy zzz
import csvwith open('person.csv', 'r', encoding='utf-8') as file_obj: # 1.创建reader对象 dictReader = csv.DictReader(file_obj) # 2.遍历进行读取数据 for r in dictReader: print(r)
OrderedDict([('name', 'xxx'), ('age', '18'), ('height', '193')])OrderedDict([('name', 'yyy'), ('age', '18'), ('height', '182')])OrderedDict([('name', 'zzz'), ('age', '19'), ('height', '185')])특정 값을 얻으려면 다음을 지정해야 합니다. key to find the value
print(r['name'])
xxx yyy zzz위는 Python 기본 튜토리얼에서 csv 파일을 작성하는 내용입니다. 입력하고 읽어보시고, 개선 사항이 있으면 댓글란에 남겨주세요~
위 내용은 Python 지식 요약: csv 파일 쓰기 및 읽기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!