前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在python中读取和写入CSV文件(你真的会吗?)「建议收藏」

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

作者头像
全栈程序员站长
发布2022-09-16 12:52:08
5.1K0
发布2022-09-16 12:52:08
举报
文章被收录于专栏:全栈程序员必看

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

🐚作者简介:苏凉(专注于网络爬虫,数据分析) 🐳博客主页:苏凉.py的博客 🌐系列专栏:Python基础语法专栏 👑名言警句:海阔凭鱼跃,天高任鸟飞。

文章要点

每日推荐

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

在这里插入图片描述
在这里插入图片描述

前言

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

1.导入CSV库

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

代码语言:javascript
复制
import csv

2.对CSV文件进行读写

2.1 用列表形式写入CSV文件

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

代码语言:javascript
复制
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参数指定分隔符

代码语言:javascript
复制
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(多行数据)

代码语言:javascript
复制
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)格式,无须再单独读取标题行

代码语言:javascript
复制
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.cn/162461.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章要点
  • 每日推荐
  • 前言
    • 1.导入CSV库
      • 2.对CSV文件进行读写
        • 2.1 用列表形式写入CSV文件
        • 2.2 用列表形式读取CSV文件
        • 2.3 用字典形式写入csv文件
        • 2.4 用字典形式读取csv文件
      • 附:csv读写的模式
      • 结语
      相关产品与服务
      文件存储
      文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档