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 26 Python
Python3实现连接SQLite数据库的方法
Aug 23 Python
详解Python中的Cookie模块使用
Jul 06 Python
Python中的模块导入和读取键盘输入的方法
Oct 16 Python
python中input()与raw_input()的区别分析
Feb 27 Python
Python实现朴素贝叶斯分类器的方法详解
Jul 04 Python
django 捕获异常和日志系统过程详解
Jul 18 Python
简单分析python的类变量、实例变量
Aug 23 Python
在Python中字符串、列表、元组、字典之间的相互转换
Nov 15 Python
Python定时任务APScheduler原理及实例解析
May 30 Python
详解Django中 render() 函数的使用方法
Apr 22 Python
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
May 04 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
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
PHP的5个安全措施小结
2012/07/17 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
jquery处理json对象
2014/11/03 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
Bootstrap每天必学之表格
2015/11/23 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
浅析Ajax语法
2016/12/05 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
vuejs实现递归树型菜单组件
2018/01/13 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
web.py在模板中输出美元符号的方法
2014/08/26 Python
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
python生成随机密码或随机字符串的方法
2015/07/03 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
Python any()函数的使用方法
2019/10/28 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
python 爬虫如何正确的使用cookie
2020/10/27 Python
HTML5 script元素async、defer异步加载使用介绍
2013/08/23 HTML / CSS
英智兴达软件测试笔试题
2016/10/12 面试题
送货司机岗位职责
2013/12/11 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
JavaScript前端面试扁平数据转tree与tree数据扁平化
2022/06/14 Javascript