天天看点

(十三) 初遇python甚是喜爱之CSV文件读写操作

各位读者大大们大家好,今天学习python的CSV文件读写操作,并记录学习过程欢迎大家一起交流分享。

(十三) 初遇python甚是喜爱之CSV文件读写操作

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

(十三) 初遇python甚是喜爱之CSV文件读写操作

接下来新建一个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文件读写操作
(十三) 初遇python甚是喜爱之CSV文件读写操作

今天初学python的CSV文件读写操作就到这里!

关注公号

下面的是我的公众号二维码图片,欢迎关注。

(十三) 初遇python甚是喜爱之CSV文件读写操作