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

本文详细介绍了Python中csv模块的csv.writer和csv.DictWriter两种方法,用于处理CSV文件。通过示例代码展示了如何使用writer写入列表数据以及DictWriter处理字典数据,包括写入字段名和数据,以及避免写入空行的方法。文章适合对CSV文件操作有一定需求的Python开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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中产生的结果为:
运行结果

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布兹学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值