目录
  • 前言
  • 1.导入CSV库
  • 2.对CSV文件进行读写
    • 2.1 用列表形式写入CSV文件
    • 2.2 用列表形式读取CSV文件
    • 2.3 用字典形式写入csv文件
    • 2.4 用字典形式读取csv文件
  • 结语

    前言

    CSV(Comma-Separated Values)即逗号分隔值,一种以逗号分隔按行存储的文本文件,所有的值都表现为字符串类型(注意:数字为字符串类型)。如果CSV中有中文,应以utf-8编码读写.

    1.导入CSV库

    python中对csv文件有自带的库可以使用,当我们要对csv文件进行读写的时候直接导入即可。

    import csv

    2.对CSV文件进行读写

    2.1 用列表形式写入CSV文件

    语法:csv.writer(f):
    writer支持writerow(列表)单行写入,和writerows(嵌套列表)批量写入多行,无须手动保存。

    import csv
    header = ['name','age','QQ_num','wechat']
    data = [['suliang','21','787991021','lxzy787991021']]
    with open ('information.csv','w',encoding='utf-8',newline='') as fp:
        # 写
        writer =csv.writer(fp)
        # 设置第一行标题头
        writer.writerow(header)
        # 将数据写入
        writer.writerows(data)

    结果:

    在python中读取和写入CSV文件详情

    注意:打开文件时应指定格式为w, 文本写入.
    打开文件时,指定不自动添加新行newline=‘’,否则每写入一行就或多一个空行。

    2.2 用列表形式读取CSV文件

    语法:csv.reader(f, delimiter=‘,’)
    reader为生成器,每次读取一行,每行数据为列表格式,可以通过delimiter参数指定分隔符

    import csv
    
    with open('information.csv',encoding='utf-8')as fp:
        reader = csv.reader(fp)
        # 获取标题
        header = next(reader)
        print(header)
        # 遍历数据
        for i in reader:
            print(i)

    结果:

    在python中读取和写入CSV文件详情

    读取文件时文件路径务必要写对,不确定时可写绝对路径。要获取csv的内容则需要遍历再输出。

    2.3 用字典形式写入csv文件

    语法:csv.DicWriter(f):
    写入时可使用writeheader()写入标题,然后使用writerow(字典格式数据行)或writerows(多行数据)

    import csv
    header = ['name','age']
    data = [{'name':'suliang','age':'21'},
            {'name':'xiaoming','age':'22'},
            {'name':'xiaohu','age':'25'}]
    with open ('information.csv','w',encoding='utf-8',newline='') as fp:
        # 写
        writer =csv.DictWriter(fp,header)
        # 写入标题
        writer.writeheader()
        # 将数据写入
        writer.writerows(data)

    结果:

    在python中读取和写入CSV文件详情

    2.4 用字典形式读取csv文件

    语法:csv.DicReader(f, delimiter=‘,’)
    直接将标题和每一列数据组装成有序字典(OrderedDict)格式,无须再单独读取标题行

    import csv
    with open('information.csv',encoding='utf-8')as fp:
        reader = csv.DictReader(fp)
        for i in reader
            print(i)

    结果:

    在python中读取和写入CSV文件详情

    附:csv读写的模式

    • r:以读方式打开文件,可读取文件信息
    • w: 已写方式打开文件,可向文件写入信息。如文件存在,则清空,再写入
    • a:以追加模式打开文件,打开文件可指针移至末尾,文件不存在则创建
    • r+:以读写方式打开文件,可对文件进行读和写操作
    • w+:消除文件内容,以读写方式打开文件
    • a+:以读写方式打开文件,文件指针移至末尾
    • b:以二进制打开文件

    结语

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。