介绍Python中csv.DictReader()方法
作为本站小编小本本,今天为大家介绍一种Python中运用csv格式文本文档的方法——csv.DictReader()。本文将为大家详细介绍这个方法,具有极强的实际意义。感兴趣的小伙伴可以继续往下看。

使用csv.DictReader()方法
我们来看一个使用csv.DictReader()方法的示例代码:
import csv
f = open('sample', 'r', encoding='utf8')
reader = csv.DictReader(f)
print(reader) # <csv.DictReader object at 0x000002241D730FD0>
for line in reader:
print(line) # OrderedDict([('id', '1'), ('name', 'jason'), ('age', '18')])
print(line['id'], line['name'], line['age']) # 1 jason 18
在这个示例代码中,我们通过打开文件并使用csv.DictReader()方法来读取csv格式的文本文档。对于reader对象(类似一个列表嵌套OrderedDict),我们可以通过遍历每一行来获取数据。在控制台中输出结果为:
<csv.DictReader object at 0x000001D329CF2080> # 来自示例代码的print(reader)
OrderedDict([('id', '1'), ('name', 'jason'), ('age', '18')]) # 来自示例代码的print(line)
1 jason 18 # 来自示例代码的print(line['id'], line['name'], line['age'])
在上述示例代码中,我们使用了OrderedDict,它是一种类似于文件目录的引用类型,可以通过键进行查找并提取值(类似于字典)。在默认情况下,csv.DictReader()会将第一行视为键,从第二行开始视为值。
使用csv.DictReader()方法之fieldnames参数
除了默认情况外,我们还可以使用fieldnames参数指定键。示例代码如下:
import csv
f = open('sample', 'r', encoding='utf8')
# 通过fieldnames参数指定字段
reader = csv.DictReader(f, fieldnames=['new_id', 'new_name', 'new_age'])
head_row = next(reader) # next()方法用于移动指针
for line in reader:
print(line) # OrderedDict([('new_id', '2'), ('new_name', 'jian'), ('new_age', '20')])
print(line['new_id'], line['new_name'], line['new_age']) # 2 jian 20
在这个示例代码中,我们通过fieldnames参数指定了新的键。需要注意的是,为了避免将第一行数据视为键,我们在使用fieldnames参数时需要跳过第一行数据,可以使用next()方法来移动指针。
使用csv.DictReader()方法之restkey和restval参数
除了上述两种参数外,我们还可以使用restkey和restval参数。
倘若加载的行具有比键名开放阅读框更多值,这时候通常会将剩下来的数据和信息作为值加进restkey中的键下面,示例代码如下:
import csv
f = open('sample', '
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6659.html
