在python中读取和写入CSV文件(你真的会吗?)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

🐚作者简介苏凉专注于网络爬虫数据分析
🐳博客主页苏凉.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)

结果
在这里插入图片描述
关注我咱们下期再见

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python