网络编程
位置:首页>> 网络编程>> Python编程>> python 使用csv模块读写csv格式文件的示例

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

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

标签:python,读写,csv

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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com