各位读者大大们大家好,今天学习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文件读写操作就到这里!
关注公号
下面的是我的公众号二维码图片,欢迎关注。