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


猜你喜欢
- 对于python语言的True和False我们并不陌生了,在学习的过程中常会遇到这样的返回值,那么True真和False假的具体含义是什么?
- 方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set password for 用户名@loca
- PYTHON首先要安装scapy模块PY3的安装scapy-python3,使用PIP安装就好了,注意,PY3无法使用pyinstaller
- 方法一(粗暴)#二叉排序树class BTree(): def __init__(self,data): 
- 问题使用MybatisPlus 连接 SqlServer 数据库 ,在分页的时候发生了如下的报错,sql语句和报错如下:Cause: com
- ASP实现语音分时问候,其实asp实现这个功能很容易,时间判断一下,在某个时间段就调用某个的背景语音。下面是源代码:
- 基础知识实际上,“运算符重载”只是意味着在类方法中拦截内置的操作……当类的实例出现在内置操作中,Python自动调用你的方法,并且你的方法的
- FileUpload上传图片(图片不变形) 的实现方法,需要的朋友可以参考下。<style type="text/css&q
- 1.1 什么是多线程 Threading多线程可简单理解为同时执行多个任务。多进程和多线程都可以执行多个任务,线程是进程的一部分。线程的特点
- 1.引言效果图:ISBN查询工具通常用于图书管理、图书销售、图书收集和阅读等场景。以下是一些具体的应用场景:图书管理系统:ISBN查询工具可
- 本文实例为大家分享了Tensorflow之MNIST CNN实现并保存、加载模型的具体代码,供大家参考,具体内容如下废话不说,直接上代码#
- <script language='javascript' for='document' event=
- 所谓取模运算,就是计算两个数相除之后的余数,符号是%。如a % b就是计算a除以b的余数。用数学语言来描述,就是如果存在整数n和m,其中0
- 错误信息这是新建一个项目还原问题,node简单写了个数据返回关键代码const express = require('express
- Mac安装python3环境首先我先给说明一下:我也是初次接触python,有一定的Java基础,对编程语法有一定基础,当然小菜在这里全当小
- 下面都是我学习W3C School教程中有关JavaScript写的学习笔记,每个方法我都亲身测试过,每个方法的用途和参数列表,我都是在经过
- 为了使一个MySQL系统安全,强烈要求你考虑下列建议……当你连接一个MySQL服务器时,你通常应
- 鉴于人手严重不足(当时算两个半人的资源),打消了逐个库手动去改的念头。当前的程序结构不允许搞革命的做法,只能搞搞改良,所以准备搞个自动化工具
- 在使用TensorFlow训练神经网络时,首先面临的问题是:网络的输入此篇文章,教大家将自己的数据集制作成TFRecord格式,feed进网
- 格式化字符串由占位符和普通字符组合而成。占位符由'%'打头,动词结尾。占位符由五类元素组成: 标志位(flag),宽度,精度