python 使用csv模块读写csv格式文件的示例

作者:小公瑾 时间:2021-04-24 15:58:28 


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("数据类型错误,请确认!")

来源:https://www.cnblogs.com/xiaogongjin/p/11400706.html

标签:python,读写,csv
0
投稿

猜你喜欢

  • 使用NetBox 编译 asp 为exe应用程序

    2009-11-29 16:13:00
  • 通过session在ASP中改善动态分页的性能

    2007-09-11 14:00:00
  • 利用python+ffmpeg合并B站视频及格式转换的实例代码

    2021-06-09 21:14:00
  • Python制作简易注册登录系统

    2022-08-25 14:46:28
  • JavaScript逆向分析instagram登入过程

    2023-09-08 19:51:52
  • 数据库中聚簇索引与非聚簇索引的区别[图文]

    2012-02-25 19:38:23
  • asp无限级分类加js收缩伸展功能代码

    2009-12-08 12:25:00
  • Python装饰器如何实现修复过程解析

    2023-11-22 04:27:43
  • Go slice切片使用示例详解

    2023-07-09 12:07:02
  • Python 实现取矩阵的部分列,保存为一个新的矩阵方法

    2023-07-17 23:22:30
  • JavaScript Length 字符长度函数

    2008-12-12 12:29:00
  • Mysql的最大连接数怎样用java程序测试

    2009-01-14 12:05:00
  • php处理json格式数据经典案例总结

    2023-11-21 13:54:42
  • 可以在线创建文件夹吗?

    2009-11-01 18:07:00
  • 如何实现论坛的树状记录表展开技术?

    2010-05-19 21:37:00
  • 课程讲解 如何使用SQL Server校勘功能

    2009-01-13 13:27:00
  • Python中的Decorator装饰器的使用示例

    2023-07-02 10:37:44
  • Python超简单分析评论提取关键词制作精美词云流程

    2021-07-27 22:00:41
  • python数据预处理之将类别数据转换为数值的方法

    2023-04-17 21:43:18
  • Opera浏览器简介

    2009-02-05 20:56:00
  • asp之家 网络编程 m.aspxhome.com