python 使用csv模块读写csv格式文件的示例


Posted in Python onDecember 02, 2020
import csv


class HandleCsv:
  '''
  csv文件处理类
  '''
  def __init__(self, filename):
    '''
    构造器
    :param filename: csv文件名
    '''
    self.filename = filename

  def get_data(self):
    '''
    获取csv中所有数据
    :return: 嵌套字典的列表
    '''
    with open(self.filename, mode='r', encoding='utf-8') as f:
      cb = csv.reader(f) # 实例化reader对象
      header = next(cb) # 获取表头,并将指针转向下一行
      list_dict = []
      for row in cb:
        list_dict.append(dict(zip(header, row)))
    return list_dict

  def get_one_row(self, row):
    '''
    获取单行数据
    :param row: 指定的行号
    :return: 对应行号的数据
    '''
    return self.get_data()[row - 1]

  def write_csv(self, headers, values, data_type, mode='w'):
    '''
    写入数据到csv到文件中
    :param headers: 表头:列表类型
    :param values: 表数据:1.嵌套元组的列表;2.嵌套字典的列表
    :param data_type: 传入的数据类型:1.'tuple';2.'dict'
    :param mode: 写入方式,默认写入“w”
    :return:
    '''
    with open(file=self.filename, mode=mode, encoding='utf-8', newline='') as f:
      if data_type == 'tuple':
        writer = csv.writer(f) # 实例化writer对象
        writer.writerow(headers) # 写入表头
        writer.writerows(values) # 写入数据
      elif data_type == 'dict':
        writer = csv.DictWriter(f, headers) # 实例化DictWriter对象
        writer.writeheader() # 写入表头
        writer.writerows(values) # 写入数据
      else:
        print("数据类型错误,请确认!")

以上就是python 使用csv模块读写csv格式文件的示例的详细内容,更多关于python 读写csv文件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python在windows下创建隐藏窗口子进程的方法
Jun 04 Python
Python Property属性的2种用法
Jun 21 Python
python进阶_浅谈面向对象进阶
Aug 17 Python
python数据结构之列表和元组的详解
Sep 23 Python
Python 实现引用其他.py文件中的类和类的方法
Apr 29 Python
python itchat实现调用微信接口的第三方模块方法
Jun 11 Python
opencv之为图像添加边界的方法示例
Dec 26 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
Python2与Python3关于字符串编码处理的差别总结
Sep 07 Python
基于Python爬取素材网站音频文件
Oct 21 Python
python爬取抖音视频的实例分析
Jan 19 Python
使用numpngw和matplotlib生成png动画的示例代码
Jan 24 Python
python 发送邮件的四种方法汇总
Dec 02 #Python
如何用PyPy让你的Python代码运行得更快
Dec 02 #Python
python 实现波浪滤镜特效
Dec 02 #Python
python 如何对logging日志封装
Dec 02 #Python
python3中确保枚举值代码分析
Dec 02 #Python
python使用yaml 管理selenium元素的示例
Dec 01 #Python
python3处理word文档实例分析
Dec 01 #Python
You might like
构建简单的Webmail系统
2006/10/09 PHP
php minixml详解
2008/07/19 PHP
php MsSql server时遇到的中文编码问题
2009/06/11 PHP
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
js导出txt示例代码
2014/01/14 Javascript
node.js学习总结之调式代码的方法
2014/06/25 Javascript
JavaScript组合拼接字符串的效率对比测试
2014/11/06 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
详解JavaScript函数对象
2015/11/15 Javascript
js removeChild 方法深入理解
2016/08/16 Javascript
js代码延迟一定时间后执行一个函数的实例
2017/02/15 Javascript
jQuery实现表单动态添加数据并提交的方法
2018/07/19 jQuery
实例讲解JavaScript截取字符串
2018/11/30 Javascript
深入koa-bodyparser原理解析
2019/01/16 Javascript
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
详解Python文本操作相关模块
2017/06/22 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
python中的句柄操作的方法示例
2019/06/20 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
Python continue语句实例用法
2020/02/06 Python
tensorflow实现训练变量checkpoint的保存与读取
2020/02/10 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
Python中Selenium模块的使用详解
2020/10/09 Python
酒店应聘自荐信
2013/11/09 职场文书
医学检验专业个人求职信范文
2013/12/04 职场文书
幼儿园保教管理制度
2014/02/03 职场文书
小学生爱国演讲稿
2014/04/25 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
Python破解极验滑动验证码详细步骤
2021/05/21 Python
微信小程序实现聊天室功能
2021/06/14 Javascript
mysql如何能有效防止删库跑路
2021/10/05 MySQL
nginx七层负载均衡配置详解
2022/07/15 Servers