1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

python运用csv格式文本文档之csv.DictReader()方法

介绍Python中csv.DictReader()方法

作为本站小编小本本,今天为大家介绍一种Python中运用csv格式文本文档的方法——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