Python内置模块—csv

本文介绍了CSV(逗号分隔值)文件的原理和在Python中的使用,包括如何通过迭代器和字典方式读取数据,以及如何以不同方式写入数据,如使用writer和DictWriter。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

csv介绍

  • 逗号分隔值csv(Comma-SeparatedValues),其文件以纯文本形式存储表格数据。
  • 原理:使用逗号,分割数据
  • excel及各种数据库软件均支持csv文件的读写

语法

读取

  • 示例1:
    with open('./csv_test.csv', 'r', encoding='utf-8') as fp:
        # reader是一个迭代器
        reader = csv.reader(fp)
        # next(): 从列表索引为1(第2个元素)开始打印 -> 忽略标题
        next(reader)
        for i in reader:
            data = {'employee': i[0], 'love_rate': i[2]}
            print(data)
    

在这里插入图片描述

  • 示例2:字典方式
    with open('csv_test.csv', 'r', encoding='utf-8') as fp:
        # 使用DictReader创建的reader对象
        reader = csv.DictReader(fp)     # 自动不包含表头数据
        # reader是一个迭代器, 遍历这个迭代器, 返回一个【字典】
        for i in reader:
            data = {'employee': i['职位'], 'love_rate': i['热爱度']}
            print(data)
    

在这里插入图片描述

写入

  • 示例1:在open方法中一般指定newline='',避免每次写入多出额外空行
    with open('./csv_test.csv', 'w', encoding='utf-8', newline='') as fp:
        # 将文件加载到csv对象中
        writer = csv.writer(fp)
        # 写入一行数据
        writer.writerow(['职位', '语言', '热爱度'])
        # 写入多行数据
        data = [
            ('后端开发', 'Java,Golang', '1'),
            ('前端开发', 'JavaScript', '2'),
            ('游戏开发', 'Unity', '3'),
            ('爬虫', 'Python', '4'),
            ('机器学习', 'Python', '5')
        ]
        writer.writerows(data)
    

在这里插入图片描述

  • 示例2:字典方式
    with open('./csv_test.csv', 'w', encoding='utf-8', newline='') as fp:
        writer = csv.DictWriter(fp, ['职位', '语言', '热爱度'])
        # 写入表头数据, 需要调用writeheadr()方法
        writer.writeheader()
        data = [
            {'职位': '后端开发', '语言': 'Java', '热爱度': '1'},
            {'职位': '前端开发', '语言': 'Js', '热爱度': '2'},
            {'职位': '游戏开发', '语言': 'Unity', '热爱度': '3'},
            {'职位': '爬虫', '语言': 'Python', '热爱度': '4'},
            {'职位': '机器学习', '语言': 'Python', '热爱度': '5'}
        ]
        writer.writerows(data)
    

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值