csv库使用

import csv


# 读取csv,以数组方式读取
def csv_read(path):
    with open(path, 'r', encoding='utf-8') as f:
        cf = csv.reader(f)  # 创建csv.reader对象
        print(cf.dialect)  # 返回其dialect
        for line in cf:
            print(line)  # 读取的内容,列表格式
            print(cf.line_num)  # 返回读入的行数


# writer.writerow(row)          方法,写入一行数据
# writer.writerows                方法,写入多行数据
# writer.dialect                只读属性,返回其dialect
def csv_write(path):
    rows = [('mike', '13', 'male'), ('Bob', '77', 'male')]
    with open(path, 'w', newline='') as f:
        writer = csv.writer(f, dialect='excel')
        writer.writerows(rows)  # 写入多行
        print(writer.dialect)


# 以字典方式读取
def csv_dict_reader(path):
    with open(path, 'r', encoding='utf-8') as f:
        cf = csv.DictReader(f)
        print(cf.dialect)  # 返回其dialect
        print(cf.fieldnames)  # 返回标题名
        for line in cf:
            print(line)
            print(cf.line_num)  # 返回读入的行数


# csvwriter.writerow(row)               将row写入writer的文件对象,根据当前方言进行格式化。支持迭代
# csvwriter.writerows(rows)             将行中的所有元素写入编写器的文件对象,并根据当前方言进行格式化。支持迭代
# DictWriter.writeheader()              写入标题字段名
def csv_dict_write(path):
    headers = ['学号', '姓名', '性别', '班级', '语文', '数学', '英语']
    rows = [{'学号': '100001', '姓名': '小鱼', '性别': '男', '班级': '1班', '语文': '72', '数学': '82', '英语': '85'},
            {'学号': '100002', '姓名': '小高', '性别': '女', '班级': '6班', '语文': '74', '数学': '88', '英语': '85'}
            ]
    with open(path, 'w', newline='') as f:
        cf = csv.DictWriter(f, headers)
        cf.writeheader()
        cf.writerows(rows)


def write_csv3(csvfilepath):
    headers = ['学号', '姓名', '性别', '班级', '语文', '数学', '英语']
    rows = [{'学号': '100010', '姓名': '小南', '性别': '男', '班级': '1班', '语文': '70', '数学': '89', '英语': '85'},
            {'学号': '100011', '姓名': '小风', '性别': '女', '班级': '6班', '语文': '79', '数学': '89', '英语': '85'}
            ]
    with open(csvfilepath, 'w', newline='') as f:
        f_csv = csv.DictWriter(f, headers, delimiter=',', quoting=csv.QUOTE_ALL)
        f_csv.writerows(rows)


def write_csv4(csvfilepath):
    # 注册分隔符
    csv.register_dialect('mydialect', delimiter='*', quoting=csv.QUOTE_ALL)
    headers = ['学号', '姓名', '性别', '班级', '语文', '数学', '英语']
    rows = [{'学号': '100013', '姓名': '小北', '性别': '男', '班级': '1班', '语文': '70', '数学': '80', '英语': '85'},
            {'学号': '100014', '姓名': '小琴', '性别': '女', '班级': '6班', '语文': '77', '数学': '89', '英语': '85'}
            ]
    with open(csvfilepath, 'w', newline='') as f:
        f_csv = csv.DictWriter(f, headers, dialect='mydialect')
        f_csv.writerows(rows)


if __name__ == '__main__':
    # csv_read('./assets/mfs.csv')
    # csv_write('./assets/user')
    # csv_dict_reader('./assets/mfs.csv')
    # csv_dict_write('./assets/students')
    # writecsv3('./assets/mmm')
    # writecsv4('./assets/aaa')
    pass

csv使用

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值