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正则表达式分组概念与用法详解
Jun 24 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
Aug 08 Python
Python编程求解二叉树中和为某一值的路径代码示例
Jan 04 Python
Python中的defaultdict与__missing__()使用介绍
Feb 03 Python
Python错误处理操作示例
Jul 18 Python
python读写csv文件方法详细总结
Jul 05 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
Python使用py2neo操作图数据库neo4j的方法详解
Jan 13 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
python爬虫库scrapy简单使用实例详解
Feb 10 Python
Python如何操作office实现自动化及win32com.client的运用
Apr 01 Python
浅析python字符串前加r、f、u、l 的区别
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
使用phpQuery采集网页的方法
2013/11/13 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
jquery ajax 调用失败的原因示例介绍
2013/09/27 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
2014/07/28 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
javascript中通过arguments参数伪装方法重载
2014/10/08 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
2017/10/19 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
JavaScript适配器模式原理与用法实例详解
2020/03/09 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
Python random模块常用方法
2014/11/03 Python
python使用range函数计算一组数和的方法
2015/05/07 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
Python变量作用范围实例分析
2015/07/07 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
python实现播放音频和录音功能示例代码
2018/12/30 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
解决Django中调用keras的模型出现的问题
2019/08/07 Python
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
高中校园广播稿
2014/01/11 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
英镑符号 £
2022/02/17 杂记
Java 关于String字符串原理上的问题
2022/04/07 Java/Android
利用Redis实现点赞功能的示例代码
2022/06/28 Redis