在python中读取和写入CSV文件(你真的会吗?)「建议收藏」

在python中读取和写入CSV文件(你真的会吗?)「建议收藏」csv文件的读取

大家好,又见面了,我是你们的朋友全栈君。

?作者简介:苏凉(专注于网络爬虫,数据分析)
?博客主页:苏凉.py的博客
?系列专栏:Python基础语法专栏
?名言警句:海阔凭鱼跃,天高任鸟飞。
?要是觉得博主文章写的不错的话,还望大家三连支持一下呀!!!
?关注✨点赞?收藏?

每日推荐

给大家推荐一款神器。无论你是学生党还是上班族都可以使用,这里涵盖了面试题库,在线刷题,各个大厂的面试/笔试真题等。如果你还是学生,最重要的一点就是模拟面试功能,智能AI1v1面试,帮助你早日拿到大厂offer!点击链接即可直达!=>牛客网-找工作神器
在这里插入图片描述

前言

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)

结果:
在这里插入图片描述
注意,打开文件时应指定格式为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)

结果:
在这里插入图片描述
读取文件时文件路径务必要写对,不确定时可写绝对路径。要获取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)

结果:
在这里插入图片描述

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)

结果:
在这里插入图片描述

附:csv读写的模式

r:以读方式打开文件,可读取文件信息

w: 已写方式打开文件,可向文件写入信息。如文件存在,则清空,再写入

a:以追加模式打开文件,打开文件可指针移至末尾,文件不存在则创建

r+:以读写方式打开文件,可对文件进行读和写操作

w+:消除文件内容,以读写方式打开文件

a+:以读写方式打开文件,文件指针移至末尾

b:以二进制打开文件

结语

csv的读写就介绍到这里啦,希望能对你有所帮助。
在这里插入图片描述
关注我咱们下期再见!!

更多题库和知识点总结,面试技巧请看=>牛客网,快来和我一起刷题吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162461.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • msm8937之I2C配置

    msm8937之I2C配置msm8937.dtsi中aliases{i2c1=&i2c_1;i2c2=&i2c_2;i2c3=&i2c_3;i2c4=&i2c_4;i2c5=&i2c_5;i2c6=&i2c_6;i…

    2022年10月18日
    2
  • linux强制删除只读文件夹,强制删除文件夹linux的方法是什么

    linux强制删除只读文件夹,强制删除文件夹linux的方法是什么灰烬里等你丶回答数:14479|被采纳数:22016-12-1714:18:36linux下删除文件的命令是rm;以下分两种介绍删除方法:对于目录文件的删除:#rf-rffilename对于非目录文件的删除:#rffilename之所以对于目录文件的删除加上了强制参数是因为在linux对目录文件的删除是递归式的;rm的参数如下所示:OPTIONSRemove(unlink)t…

    2022年6月13日
    37
  • Windows环境下进行mysql数据库备份[通俗易懂]

    Windows环境下进行mysql数据库备份[通俗易懂]备份功能使用mysqldump进行数据库备份跨主机备份还原数据库Windows定时执行脚本任务使用mysqldump进行数据库备份mysql数据库自带备份命令mysqldump,可对数据库进行备份操作最简单的备份是将数据库备份至本地,生成**.sql文件编写备份脚本文件(创建一个txt文件,写入批处理脚本,再将文件的后缀改为.bat变为批处理脚本文件)remautherBeginnerXiaoremdate:20200814rem******BackupMySQLStart***

    2022年5月6日
    49
  • ioctl函数详解(Linux内核 )

    ioctl函数详解(Linux内核 )1.概念ioctl是设备驱动程序中设备控制接口函数,一个字符设备驱动通常会实现设备打开、关闭、读、写等功能,在一些需要细分的情境下,如果需要扩展新的功能,通常以增设ioctl()命令的方式实现。在文件I/O中,ioctl扮演着重要角色,本文将以驱动开发为侧重点,从用户空间到内核空间纵向分析ioctl函数。2.用户空间ioctl#include<sys/ioctl.h>intioctl(intfd,intcmd,…);参数描述

    2022年10月17日
    3
  • linux中vim如何显示行数,vim 在linux下中如何设置显示行数「建议收藏」

    linux中vim如何显示行数,vim 在linux下中如何设置显示行数「建议收藏」在.vimrc(或/etc/vimrc)文件中输入如下文本:settabstop=4setsofttabstop=4setshiftwidth=4setnoexpandtabsetnusetautoindentsetcindent其中:Tabstop:表示一个tab显示出来是多少个空格的长度,默认8。softtabstop:表示在编辑模式的时候按退格键的时候退回缩进的长度,当使…

    2025年6月24日
    3
  • Python安装whl文件之坑「建议收藏」

    Python安装whl文件之坑「建议收藏」有的时候,使用pipinstallxxx会失败,这个时候我们就需要下载xxx.whl文件,而xxx.whl在版本上有很多不兼容的地方需要注意 1.whl文件兼容性很差,同一文件分版本具体下载哪一个版本?可在pythonIDE中输入importpip;print(pip.pep425tags.get_supported())(pip10没有pep425tags()…

    2022年5月29日
    104

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号