操作csv文件之csv.writer()方法与csv.DictWriter()方法

文章目录

  • 一、csv.writer()方法的基本使用
  • 二、csv.DictWriter()方法的基本使用
  • 一、csv.writer()方法的基本使用

    示例代码1:

    import csv
    data = [
        (1,"cat",18),
        (2,"dog",17),
        (3,"tigger",16),
    ]
    f = open('test.csv','a',encoding='utf8',newline='')
    writer = csv.writer(f)  # csv.writer()中可以传一个文件对象
    for line in data: # 该data既可以是列表嵌套列表的数据类型也可以是列表嵌套元组的数据类型
        writer.writerow(line)
    

    writer()的功能是创建一个常规Writer的对象,但是调用writer()的writerow/writerows方法是要传入的是列表类型数据。
    注意示例代码1中打开文件时f = open('test.csv','a',encoding='utf8',newline='')指定newline=‘’参数可以使每次写入数据不会产生空行,注意根据需求指定文件的打开方式,该案例中是使用追加的方式打开文件,这样写入数据的时候,就不会产生是数据的覆盖。
    代码成功运行在test.csv中产生的结果为:
    运行结果

    二、csv.DictWriter()方法的基本使用

    示例代码2:

    import csv
    data = [
        {'id':1,'name':'dog',"age":18},
        {'id':2,'name':'cat',"age":19},
        {'id':3,'name':'dog',"age":20},
    ]
    f = open('test1.csv','a',encoding='utf8',newline='')  # 指定newline=‘’参数
    writer = csv.DictWriter(f,fieldnames=['id','name','age'])
    writer.writeheader() # 将字段写入csv格式文件首行
    for line in data:
        writer.writerow(line)
    

    DictWriter()的功能是创建一个类似于常规Writer的对象,但是调用DictWriter()的writerow/writerows方法是要传入的是字典类型数据。
    示例代码2中的writer.writeheader()作用是将字段写入,即将DictWriter构造方法的fieldnames参数中的字段写入csv格式文件的首行,如果未执行writeheader()方法的话是不会fieldnames中的字段写入csv格式文件的首行。
    代码成功运行在test1.csv中产生的结果为:
    运行结果

    来源:booze-J

    物联沃分享整理
    物联沃-IOTWORD物联网 » 操作csv文件之csv.writer()方法与csv.DictWriter()方法

    发表评论