在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 相关文章推荐
打开电脑上的QQ的python代码
Feb 10 Python
python 系统调用的实例详解
Jul 11 Python
学习Django知识点分享
Sep 11 Python
python实现按首字母分类查找功能
Oct 31 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
Nov 11 Python
Keras使用tensorboard显示训练过程的实例
Feb 15 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
keras-siamese用自己的数据集实现详解
Jun 10 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
Jun 28 Python
python 爬虫请求模块requests详解
Dec 04 Python
Python实现信息轰炸工具(再也不怕说不过别人了)
Jun 11 Python
关于Python中进度条的六个实用技巧分享
Apr 05 Python
python数字图像处理之图像的批量处理
如何利用python实现Simhash算法
Jun 28 #Python
python数字图像处理:图像的绘制
python数字图像处理数据类型及颜色空间转换
python数据分析之单因素分析线性拟合及地理编码
python可视化分析绘制带趋势线的散点图和边缘直方图
基于Python编写一个监控CPU的应用系统
You might like
php4的session功能评述(三)
2006/10/09 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
php中header跳转使用include包含解决参数丢失问题
2015/05/08 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
2019/12/12 PHP
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
jQuery与Ajax以及序列化
2016/02/01 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
微信小程序 解析网页内容详解及实例
2017/02/22 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
原生JS实现的自动轮播图功能详解
2018/12/28 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
2020/08/18 Javascript
javascript实现拼图游戏
2021/01/29 Javascript
Python实现的HTTP并发测试完整示例
2020/04/23 Python
解读Python编程中的命名空间与作用域
2015/10/16 Python
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
pandas 使用均值填充缺失值列的小技巧分享
2019/07/04 Python
pandas的相关系数与协方差实例
2019/12/27 Python
使用python turtle画高达
2020/01/19 Python
python时间与Unix时间戳相互转换方法详解
2020/02/13 Python
CSS3动画之利用requestAnimationFrame触发重新播放功能
2019/09/11 HTML / CSS
大学生收银员求职信分享
2014/01/02 职场文书
学生感冒英文请假条
2014/02/04 职场文书
生日宴会策划方案
2014/06/03 职场文书
老员工辞职信范文
2015/05/12 职场文书
郭明义观后感
2015/06/08 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书