首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >(十三) 初遇python甚是喜爱之CSV文件读写操作

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

作者头像
XXXX-user
修改2019-07-30 10:54:01
修改2019-07-30 10:54:01
7090
举报
文章被收录于专栏:不仅仅是python不仅仅是python

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

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

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

代码语言:javascript
复制
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文件读写操作就到这里!

关注公号

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 yale记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关注公号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档