csv和xlrd模块

1、csv模块

CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用以存储表格数据,包括数字或者字符。

2、namedtuple(具名元组)

因为元组的局限性:不能为元组内部的数据进行命名,所以往往我们并不知道一个元组所要表达的意义,所以在这里引入了 collections.namedtuple 这个工厂函数,来构造一个带字段名的元组。具名元组的实例和普通元组消耗的内存一样多,因为字段名都被存在对应的类里面。

namedtuple 对象的定义如以下格式:

collections.namedtuple(typename, field_names, verbose=False, rename=False)

返回一个具名元组子类 typename,其中参数的意义如下:
  typename:元组名称
  field_names: 元组中元素的名称
  rename: 如果元素名称中含有 python 的关键字,则必须设置为 rename=True
  verbose: 默认就好

3、数据读取和写入

import csv
from collections import namedtuple

def csv_writer():
    """写入csv文件"""
    headers = ['编号', '课程', '讲师']
    rows = [
        (1, 'python', 'Eason'),
        (2, 'c#', 'Jack'),
        (3, 'Django', 'Mike'),
        (4, '.NET', 'John')
    ]
    with open('my_course.csv','w',encoding='utf8', newline='') as f:
        writer = csv.writer(f) #可写入列表或元组的对象
        writer.writerow(headers)  # 写入一行
        writer.writerows(rows)  # 写入多行


def csv_reader():
    """读取csv文件"""
    with open('my_course.csv','r',encoding='utf8') as f:
        reader=csv.reader(f) #返回每行是一个列表的迭代器对象
        headers=next(reader) #获取文件第一项表头
        print(headers)
        for row in reader:
            print(row
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值