python 操作csv檔案
阿新 • • 發佈:2022-06-01
一、使用csv模組進行讀寫
1、通過writer和reader物件進行寫和讀操作
-
寫操作
通過建立writer物件寫入:
-
- 建立資料和表頭
- 建立writer物件
- 寫表頭
- 遍歷列表,將每一行資料寫入
案例一(每次寫入一行):
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)
說明: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) # 3.寫入資料(一次性寫入多行) writer.writerows(person)
-
讀操作
通過reader物件讀取
案例:
import csv
with open('person.csv', 'r', encoding='utf-8') as file_obj:
# 1.建立reader物件
reader = csv.reader(file_obj)
# 2.遍歷進行讀取資料
for r in reader:
print(r)
2、通過dictwriter和dictreader物件進行寫和讀操作
-
寫操作
- 建立資料和表頭(資料必須是字典格式)
- 建立dictwriter物件
- 寫表頭
- 寫入資料
案例:
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 csv
with open('person.csv', 'r', encoding='utf-8') as file_obj:
# 1.建立reader物件
dictReader = csv.DictReader(file_obj)
# 2.遍歷進行讀取資料
for r in dictReader:
print(r)