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根据给定文件返回文件名和扩展名的方法
Mar 27 Python
使用 Python 实现微信公众号粉丝迁移流程
Jan 03 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 Python
Python3.6日志Logging模块简单用法示例
Jun 14 Python
Python同步遍历多个列表的示例
Feb 19 Python
TensorFlow实现简单的CNN的方法
Jul 18 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
Sep 29 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
Nov 08 Python
python队列原理及实现方法示例
Nov 27 Python
python利用dlib获取人脸的68个landmark
Nov 27 Python
Pyecharts 中Geo函数常用参数的用法说明
Feb 01 Python
python可视化大屏库big_screen示例详解
Nov 23 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
用Json实现PHP与JavaScript间数据交换的方法详解
2013/06/20 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
jquery 问答知识整理
2010/02/11 Javascript
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
收集的10个免费的jQuery相册
2011/02/26 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
vue点击页面空白处实现保存功能
2019/11/06 Javascript
javascript实现前端成语点击验证
2020/06/24 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
python中实现定制类的特殊方法总结
2014/09/28 Python
Python3离线安装Requests模块问题
2019/10/13 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
python实现批处理文件
2020/07/28 Python
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
人力资源求职信
2014/05/25 职场文书
建筑工程质量通病防治方案
2014/06/08 职场文书
催款函范文
2015/06/24 职场文书
2015重阳节座谈会主持词
2015/07/30 职场文书
MySQL CHAR和VARCHAR该如何选择
2021/05/31 MySQL
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript