在python中读取和写入CSV文件详情


Posted in Python onJune 28, 2022

前言

CSV(Comma-Separated Values)即逗号分隔值,一种以逗号分隔按行存储的文本文件,所有的值都表现为字符串类型(注意:数字为字符串类型)。如果CSV中有中文,应以utf-8编码读写.

1.导入CSV库

python中对csv文件有自带的库可以使用,当我们要对csv文件进行读写的时候直接导入即可。

import csv

2.对CSV文件进行读写

2.1 用列表形式写入CSV文件

语法:csv.writer(f):
writer支持writerow(列表)单行写入,和writerows(嵌套列表)批量写入多行,无须手动保存。

import csv
header = ['name','age','QQ_num','wechat']
data = [['suliang','21','787991021','lxzy787991021']]
with open ('information.csv','w',encoding='utf-8',newline='') as fp:
    # 写
    writer =csv.writer(fp)
    # 设置第一行标题头
    writer.writerow(header)
    # 将数据写入
    writer.writerows(data)

结果:

在python中读取和写入CSV文件详情

注意:打开文件时应指定格式为w, 文本写入.
打开文件时,指定不自动添加新行newline=‘’,否则每写入一行就或多一个空行。

2.2 用列表形式读取CSV文件

语法:csv.reader(f, delimiter=‘,’)
reader为生成器,每次读取一行,每行数据为列表格式,可以通过delimiter参数指定分隔符

import csv

with open('information.csv',encoding='utf-8')as fp:
    reader = csv.reader(fp)
    # 获取标题
    header = next(reader)
    print(header)
    # 遍历数据
    for i in reader:
        print(i)

结果:

在python中读取和写入CSV文件详情

读取文件时文件路径务必要写对,不确定时可写绝对路径。要获取csv的内容则需要遍历再输出。

2.3 用字典形式写入csv文件

语法:csv.DicWriter(f):
写入时可使用writeheader()写入标题,然后使用writerow(字典格式数据行)或writerows(多行数据)

import csv
header = ['name','age']
data = [{'name':'suliang','age':'21'},
        {'name':'xiaoming','age':'22'},
        {'name':'xiaohu','age':'25'}]
with open ('information.csv','w',encoding='utf-8',newline='') as fp:
    # 写
    writer =csv.DictWriter(fp,header)
    # 写入标题
    writer.writeheader()
    # 将数据写入
    writer.writerows(data)

结果:

在python中读取和写入CSV文件详情

2.4 用字典形式读取csv文件

语法:csv.DicReader(f, delimiter=‘,’)
直接将标题和每一列数据组装成有序字典(OrderedDict)格式,无须再单独读取标题行

import csv
with open('information.csv',encoding='utf-8')as fp:
    reader = csv.DictReader(fp)
    for i in reader
        print(i)

结果:

在python中读取和写入CSV文件详情

附:csv读写的模式

  • r:以读方式打开文件,可读取文件信息
  • w: 已写方式打开文件,可向文件写入信息。如文件存在,则清空,再写入
  • a:以追加模式打开文件,打开文件可指针移至末尾,文件不存在则创建
  • r+:以读写方式打开文件,可对文件进行读和写操作
  • w+:消除文件内容,以读写方式打开文件
  • a+:以读写方式打开文件,文件指针移至末尾
  • b:以二进制打开文件

结语

到此这篇关于在python中读取和写入CSV文件详情的文章就介绍到这了,更多相关python读写CSV文件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Python 相关文章推荐
Python中zip()函数用法实例教程
Jul 31 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
Apr 08 Python
Python3 Random模块代码详解
Dec 04 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
Mar 15 Python
Python实现的计算马氏距离算法示例
Apr 03 Python
Django数据库连接丢失问题的解决方法
Dec 29 Python
OpenCV图像颜色反转算法详解
May 13 Python
python 的topk算法实例
Apr 02 Python
Selenium webdriver添加cookie实现过程详解
Aug 12 Python
python通过cython加密代码
Dec 11 Python
python模块内置属性概念及实例
Feb 18 Python
Python selenium绕过webdriver监测执行javascript
Apr 12 Python
python数字图像处理之图像的批量处理
如何利用python实现Simhash算法
Jun 28 #Python
python数字图像处理:图像的绘制
python数字图像处理数据类型及颜色空间转换
python数据分析之单因素分析线性拟合及地理编码
python可视化分析绘制带趋势线的散点图和边缘直方图
基于Python编写一个监控CPU的应用系统
You might like
Protoss建筑一览
2020/03/14 星际争霸
Protoss热键控制
2020/03/14 星际争霸
最令PHP初学者头痛的十四个问题
2006/07/12 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
thinkPHP模板引擎用法示例
2016/12/08 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
深入了解JavaScript的逻辑运算符(与、或)
2016/12/20 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
js模块加载方式浅析
2017/08/12 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
举例区分Python中的浅复制与深复制
2015/07/02 Python
Python读取系统文件夹内所有文件并统计数量的方法
2018/10/23 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
Python基于callable函数检测对象是否可被调用
2020/10/16 Python
Linux文件系统类型
2012/02/15 面试题
护士的岗位职责
2013/12/04 职场文书
自我评价范文
2013/12/22 职场文书
汽车专业人才自我鉴定范文
2013/12/29 职场文书
yy婚礼司仪主持词
2014/03/14 职场文书
工商管理专业自荐信
2014/06/03 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
民主评议党员个人总结
2015/02/13 职场文书
2015年平安创建工作总结
2015/04/29 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript