python的CSV文件读写操作浅谈

  • Post author:
  • Post category:python


转自:

微点阅读


https://www.weidianyuedu.com


今天学习python的CSV文件读写操作。


首先看我桌面的test.csv文件:是一种使用逗号分隔的文件格式,可以用excel打开,或者用txt打开:


接下来新建一个python文件命名为py3_csv_op.py,在这个文件中进行操作代码编写:

import csv####第一种方式使用csv的reader() writer()#读取test.csv文件,这里指定了字符集编码UTF-8-sigencode = "UTF-8-sig"withopen("test.csv","r",encoding=encode) as csv_file:#获取csv reader读取对象#delimiter参数默认值逗号 可不写  csv_reader = csv.reader(csv_file,delimiter=",")#打开test_copy.csv文件withopen("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方法实现####本人更喜欢第二种方式withopen("test.csv","r",encoding=encode) as csv_file:  csv_reader = csv.DictReader(csv_file,delimiter=",")withopen("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文件读写操作就到这里!