各位讀者大大們大家好,今天學習python的CSV檔案讀寫操作,并記錄學習過程歡迎大家一起交流分享。

首先看我桌面的test.csv檔案:是一種使用逗号分隔的檔案格式,可以用excel打開,或者用txt打開:
接下來建立一個python檔案命名為py3_csv_op.py,在這個檔案中進行操作代碼編寫:
import csv
####第一種方式使用csv的reader() writer()
#讀取test.csv檔案,這裡指定了字元集編碼UTF-8-sig
encode = 'UTF-8-sig'
with open('test.csv','r',encoding=encode) as csv_file:
#擷取csv reader讀取對象
#delimiter參數預設值逗号 可不寫
csv_reader = csv.reader(csv_file,delimiter=',')
#打開test_copy.csv檔案
with open('test_copy.csv','w',encoding=encode) as w_file:
#擷取csv writer寫入對象
#為了區分效果delimiter分隔符用-
csv_writer = csv.writer(w_file,delimiter='-')
#循環資料,寫入每一列到新的檔案中
for line in csv_reader:
csv_writer.writerow(line)
####第二種方式使用csv的dictionary reader
####dictionary writer方法實作
####本人更喜歡第二種方式
with open('test.csv','r',encoding=encode) as csv_file:
csv_reader = csv.DictReader(csv_file,delimiter=',')
with open('test_csv_copy.csv','w',encoding=encode) as new_file:
#這裡定義新的csv字段名字隻保留姓名和性别
fieldnames = ['姓名','性别']
csv_writer = csv.DictWriter(new_file,fieldnames=fieldnames,delimiter='\t')
#先把表頭寫入
csv_writer.writeheader()
for line in csv_reader:
#擷取的每一行資料為字典形式
#eg:OrderedDict([('\ufeff姓名', '企鵝'), ('年齡', '23'), ('性别', '女')])
#删除掉年齡
del line['年齡']
csv_writer.writerow(line)
複制
運作以上代碼,得到如下結果圖:
今天初學python的CSV檔案讀寫操作就到這裡!
關注公号
下面的是我的公衆号二維碼圖檔,歡迎關注。