python csv文件存储(函数版)

csv文件存储是我之前没有接触到过的,今天学习总结了一下csv文件读写的方法。

# csv 一种以逗号分割的简单语法的存储结构,远比数据库简单,甚至比Excel表更简单。
# 场景:备份数据,适合非电脑专业人士看
# 环境:python3
"""
特点:
1. 值没有类型,所有值都是字符串
2. 不能指定字体样式
3. 不能指定单元格的宽高,不能合并单元格
4. 没有多个表,不能嵌入图表
"""
import csv


# 写数据到csv文件中
def write():
    data = [
        ['name', 'age'],
        ['小红', 15],
        ['李华', 26],
        ['刘梅', 32]
    ]

    # 打开文件,写入数据到里面
    with open('example.csv', 'w+', newline='', encoding='utf-8') as f:
        writer = csv.writer(f)
        for row in data:
            # 一条一条写入
            writer.writerow(row)

        # 全部一下写入
        writer.writerows(data)


def read():
    # 从csv文件中读取数据
    with open('example.csv', encoding='utf-8') as f:
        reader = csv.reader(f)
        # <_csv.reader object at 0x000002258F417CE0>
        # print(reader)
        # [['name', 'age'], ['小红', '15'], ['李华', '26'], ['刘梅', '32']]
        print(list(reader))
    # 直接打印从文件中读出的data是个对象内存地址,必须转成列表,才能取到数据


def dict_read():
    # 使用DictReader,像操作字典一样取出数据
    with open('example.csv', encoding='utf-8') as f:
        reader = csv.DictReader(f)
        for row in reader:
            max_temp = row['name']
            print(max_temp)


# 使用DictWriter类,写入字典形式的数据
def dict_write():
    headers = ['name', 'age']

    datas = [
        {'name': '莉莉', 'age': 4},
        {'name': '赵四', 'age': 45},
        {'name': '张鑫鑫', 'age': 20}
    ]

    with open('example.csv', 'a', encoding='utf-8', newline='') as f:
        writer = csv.DictWriter(f, headers)
        writer.writeheader()
        for row in datas:
            writer.writerow(row)

        # 同时写入多行
        writer.writerows(datas)


if __name__ == '__main__':
    write()
    read()
    dict_read()
    dict_write()

注:github账号链接:https://github.com/qiaoqiao520   ,大家可前来学习交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值