菜鸟的学习笔记-csv文件存储

    来这个平台也有几个月了都是来向各位前辈学习的,也没勇气在这个平台上写点啥。以前学点东西都是记在笔记本上的,记起来也不太方便尤其是记录代码。那就借助这个平台做个笔记吧,方便以后学习翻阅,还能得到各位前辈和高手的指点!刚开始写也没啥思路和经验请各位多指点。废话不多说了,记个笔记吧。

   今天学的是csv的文件存储,csv,全称为Comma-Separated Values,中文叫做逗号分隔值或者字符分割值。csv以纯文本形式存储数据,是一个字符序列可以由任意数目的记录组成。各条记录以某种换行符隔开。每条记录都有若干字段组成。字段间的分隔符是其他字符或字符串。最常见的是逗号或制表符。

csv的优点

  csv中不包含数值、公式和格式等结构简单清晰。

python将数据写入csv和读取数据

一.写入及写入步骤:


import csv 天才第一步首先导入csv库,内置 无需额外安装。

1.列表类型写入:

第一步 需要实例化一个写入对象
第二步 写入单行数据 表头
第三步 写入多行数据

下面是实例和代码。

import csv   # s内置 无需额外安装


header = ['书名', '作者', '类型']

 book_row_ls = [
     ['网游:开局防御加满,化身移动要塞', '谒始', '游戏竞技'],
     ['全球废土:我以机械比肩神明', '岐峰','科幻末世'],
     ['民间诡梦实录','王诡一', '都市小说'],
     ['奶包三岁半,我是全豪门团宠', '惊颜', '现代言情'],
     ['万恶的考试和资本', '白日不栽柳', '浪漫青春']
 ]
  newline='' #取消每一行的空行
  with open('book.csv', 'w', encoding='utf-8', newline='') as f:
      #第一步 需要实例化一个写入对象  传入文件对象
    writer = csv.writer(f)
     # 第二步 写入单行数据 表头
     writer.writerow(header)
      #第三步 写入多行数据
     writer.writerows(book_row_ls)
 

2.字典类型写入
不写了直接上实例吧。
 字典写入
header = ["book_name", 'author_name', 'book_type']
book_row_ls = [
    {'book_name':'网游:开局防御加满,化身移动要塞', 'author_name':'谒始', 'book_type':'游戏竞技'},
    {'book_name':'全球废土:我以机械比肩神明', 'author_name':'岐峰','book_type':'科幻末世'},
    {'book_name':'民间诡梦实录','author_name':'王诡一', 'book_type':'都市小说'},
    {'book_name':'奶包三岁半,我是全豪门团宠', 'author_name':'惊颜', 'book_type':'现代言情'},
    {'book_name':'万恶的考试和资本', 'author_name':'白日不栽柳', 'book_type':'浪漫青春'}
]
with open('book-dict.csv', 'w', encoding='utf-8', newline='') as f:
    # 第一步 需要实例化一个写入对象 传入文件对象与表头
    writer = csv.DictWriter(f, header)
    # 第二步 写入单行数据 表头
    writer.writeheader()
    # 第三步 写入多行数据
    writer.writerows(book_row_ls)

二.读取csv数据步骤:

import csv

# 列表写入的读取方式
with open('book.csv', 'r',encoding='utf-8') as f:
    # 第一步 实例化一个读取对象  传入的参数是文件对象
    reader = csv.reader(f)
    # print(reader)  # <_csv.reader object at 0x0000019DB6C88760>
    header = next(reader)  # 读取表头 第一行 然后不再放回reader当中
    # print(header)
    # next(reader)
    # next(reader)
    # next(reader)

    for row in reader:
        print(row)


字典写入的读取方式
with open('book-dict.csv', 'r',encoding='utf-8') as f:
    reader = csv.DictReader(f)
    # 字典写入的方式 读取的时候是不会出现表头的  所以不需要next()
    # Ord...({'book_name': '全球废土:我以机械比肩神明', 'author_name': '岐峰', 'book_type': '科幻末世'})
    # dict()
    for row in reader:
        print(row)



with open('book.csv', 'r',encoding='utf-8') as f:
    reader = csv.DictReader(f)
    # 字典写入的方式 读取的时候是不会出现表头的  所以不需要next()
    # Ord...({'book_name': '全球废土:我以机械比肩神明', 'author_name': '岐峰', 'book_type': '科幻末世'})
    # dict()
    for row in reader:
        print(row)


第一次写没有啥经验希望大家多多指导,错误之处请帮忙指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值