Loading

Python笔记——csv文件的读取写入

csv文件,一行为一条数据,数据字段用逗号‘,’分隔

可以使用记事本、EXcel等方式打开

csv文件的读写都有两种方式:列表或字典(推荐字典)

import csv # 导入内置的csv模块
列表形式每条数据时一个列表
csv.reader(f)创建read对象
csv.writer(f)创建write对象
def csv_read_list():
    with open('test.csv', 'r', encoding='utf-8') as f:
        # 返回一个reader生成器, 每一条数据为一个列表
        reader = csv.reader(f)
        # 调用next函数获取第一行的表头
        title = next(reader)
        print(title)
        # 表格信息,单列使用下标获取
        for i in reader:
            print(i)


def csv_write_list():
    headers = ['name', 'age', 'height']
    data1 = ['张三', 18, 180]
    data2 = ['da张三', 12, 170]
    with open('test.csv', 'w', encoding='utf-8', newline='') as f:
        # 创建writer对象
        writer = csv.writer(f)
        # 写入表头
        writer.writerow(headers)
        # 写入数据, 写入多行使用writerows方法
        writer.writerow(data1)
        writer.writerow(data2)
字典形式每条数据时一个字典
csv.DictReader(f)创建read对象
csv.DictWriter(f)创建write对象
def csv_read_dict():
    with open('test.csv', 'r', encoding='utf-8') as f:
        # 返回一个reader生成器, 每一条数据为一个字典
        reader = csv.DictReader(f)
        # 表格信息,单列使用key获取
        for i in reader:
            print(i)


def csv_write_dict():
    headers = ['name', 'age', 'height']
    data1 = {'name': '张三', 'age': 18, 'height': 180}
    data2 = {'name': '张da三', 'age': 12, 'height': 170}
    with open('test.csv', 'w', encoding='utf-8', newline='') as f:
        # 创建writer对象
        writer = csv.DictWriter(f, headers)
        # 写入表头
        writer.writeheader()
        # 写入数据, 写入多行使用writerows方法
        writer.writerow(data1)
        writer.writerow(data2)
posted @ 2020-02-15 13:26  luoxian  阅读(63)  评论(0编辑  收藏  举报