举例说明csv.DictWriter()的属性和方法
时间: 2024-03-10 20:48:19 浏览: 11
`csv.DictWriter()`是Python中用于将字典数据写入CSV文件的类,其属性和方法如下:
属性:
- `fieldnames`: 一个包含所有字段名称的列表,用于指定CSV文件中各列的顺序和名称。
方法:
- `writeheader()`: 将`fieldnames`列表中的字段名称作为CSV文件的第一行写入文件。
- `writerow(dict)`: 将一个字典对象写入CSV文件中。字典中的键对应CSV文件中的列名,值对应CSV文件中的单元格内容。
下面是一个使用`csv.DictWriter()`类的示例代码:
```python
import csv
# 定义一个字典列表,用于写入CSV文件
data = [
{'Name': 'Alice', 'Age': 23, 'Gender': 'Female'},
{'Name': 'Bob', 'Age': 25, 'Gender': 'Male'},
{'Name': 'Charlie', 'Age': 21, 'Gender': 'Male'}
]
# 定义CSV文件的字段名称列表
fieldnames = ['Name', 'Age', 'Gender']
# 创建DictWriter对象并写入CSV文件
with open('data.csv', 'w', newline='') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for row in data:
writer.writerow(row)
```
在上面的示例中,我们首先定义了一个字典列表`data`,其中每个字典对象都包含三个键值对,分别对应CSV文件中的三列。然后,我们定义了字段名称列表`fieldnames`,用于指定CSV文件中各列的顺序和名称。最后,我们使用`csv.DictWriter()`类创建一个`writer`对象,并将数据写入CSV文件中。
在`csv.DictWriter()`类的使用过程中,还可以使用其他一些属性和方法,例如:
- `delimiter`: 用于指定CSV文件中不同单元格之间的分隔符,默认为`,`。
- `restval`: 用于指定字典中某个键不存在时,写入CSV文件的默认值。
- `extrasaction`: 指定当字典中存在CSV文件中不存在的键时的处理方式,可选值为`raise`或`ignore`。`raise`表示出现异常,`ignore`表示忽略该键。