在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实现的简单发送邮件脚本分享
Nov 07 Python
python使用多线程不断刷新网页的方法
Mar 31 Python
Python实现单词拼写检查
Apr 25 Python
selenium+python自动化测试之环境搭建
Jan 23 Python
python中正则表达式与模式匹配
May 07 Python
django model通过字典更新数据实例
Apr 01 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
python爬虫中url管理器去重操作实例
Nov 30 Python
如何利用python生成MD5并去重
Dec 07 Python
Python连续赋值需要注意的一些问题
Jun 03 Python
Python标准库pathlib操作目录和文件
Nov 20 Python
Python实现抖音热搜定时爬取功能
Mar 16 Python
python数字图像处理之图像的批量处理
如何利用python实现Simhash算法
Jun 28 #Python
python数字图像处理:图像的绘制
python数字图像处理数据类型及颜色空间转换
python数据分析之单因素分析线性拟合及地理编码
python可视化分析绘制带趋势线的散点图和边缘直方图
基于Python编写一个监控CPU的应用系统
You might like
php计算指定目录下文件占用空间的方法
2015/03/13 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
javascript之ESC(第二类混淆)
2007/05/06 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
JavaScript获取URL中参数querystring的方法详解
2016/10/11 Javascript
js实现华丽的九九乘法表效果
2017/03/29 Javascript
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
React中使用Vditor自定义图片详解
2020/12/25 Javascript
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
Python os模块介绍
2014/11/30 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
django使用admin站点上传图片的实例
2019/07/28 Python
如何使用python传入不确定个数参数
2020/02/18 Python
最小二乘法及其python实现详解
2020/02/24 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
Python里面search()和match()的区别
2016/09/21 面试题
大学生写自荐信的技巧
2014/01/08 职场文书
关于期中考试的反思
2014/02/02 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
基层党员对照检查材料
2014/09/24 职场文书
健康状况证明模板
2014/10/23 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书
background-position百分比原理详解
2021/05/08 HTML / CSS
PostgreSQL出现死锁该如何解决
2022/05/30 PostgreSQL