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基于scrapy采集数据时使用代理服务器的方法
Apr 16 Python
Python在Console下显示文本进度条的方法
Feb 14 Python
详解python中xlrd包的安装与处理Excel表格
Dec 16 Python
win系统下为Python3.5安装flask-mongoengine 库
Dec 20 Python
python函数中return后的语句一定不会执行吗?
Jul 06 Python
在Mac下使用python实现简单的目录树展示方法
Nov 01 Python
对json字符串与python字符串的不同之处详解
Dec 19 Python
Python通过for循环理解迭代器和生成器实例详解
Feb 16 Python
Python 的AES加密与解密实现
Jul 09 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
May 11 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
Sep 16 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 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 xml-rpc远程调用
2008/12/19 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
PHP中使用break跳出多重循环代码实例
2015/01/21 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
2019/08/05 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
js设置控件的隐藏与显示的两种方法
2014/08/21 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
js编写一个简单的产品放大效果代码
2016/06/27 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
2016/09/19 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
详解如何使用webpack打包多页jquery项目
2019/02/01 jQuery
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
[01:01:52]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第二场 1月9日
2021/03/11 DOTA
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
Python实现批量执行同目录下的py文件方法
2019/01/11 Python
python协程之动态添加任务的方法
2019/02/19 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
Python Collatz序列实现过程解析
2019/10/12 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
英语老师推荐信
2014/02/26 职场文书
优秀员工演讲稿
2014/05/19 职场文书
开工典礼策划方案
2014/05/23 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
实习指导老师意见
2015/06/04 职场文书
小学英语教学随笔
2015/08/14 职场文书
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python