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中动态获取对象的属性和方法的教程
Apr 09 Python
Python实现按特定格式对文件进行读写的方法示例
Nov 30 Python
Python使用post及get方式提交数据的实例
Jan 24 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
Jun 24 Python
kali中python版本的切换方法
Jul 11 Python
python 并发编程 非阻塞IO模型原理解析
Aug 20 Python
python分布式计算dispy的使用详解
Dec 22 Python
tensorflow 报错unitialized value的解决方法
Feb 06 Python
Python代码注释规范代码实例解析
Aug 14 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
Sep 16 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
Feb 01 Python
Pytorch使用shuffle打乱数据的操作
May 20 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
将PHP作为Shell脚本语言使用
2006/10/09 PHP
一步一步学习PHP(7) php 字符串相关应用
2010/03/05 PHP
php set_time_limit()函数的使用详解
2013/06/05 PHP
CodeIgniter基于Email类发邮件的方法
2016/03/29 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
laravel model 两表联查示例
2019/10/24 PHP
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
Vue Router的手写实现方法实现
2020/03/02 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
2018/07/09 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
使用Python的turtle模块画国旗
2019/09/24 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
生产车间标语
2014/06/11 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
升学宴来宾致辞
2015/07/27 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB