让我来介绍一下“python操作csv格式文件之csv.DictReader()方法”的完整攻略。
什么是csv格式文件?
CSV是Comma Separated Values缩写的简称,意为“逗号分隔值”,它是一种文本文件,可以简单地表示表格数据。CSV格式文件不同于微软Excel或OpenOffice Calc的电子表格文件,它没有单元格或者其他表格式的概念,它纯粹是行和列的数据组合。
什么是csv.DictReader()方法?
csv.DictReader()方法是Python csv模块的一个函数,它将CSV文件读入一个字典序列中。这个函数返回一个迭代器,它可以迭代每一行内容转化为一个字典,字典的key值对应CSV文件第一行的column name,value值对应该列下该行的值。
csv.DictReader()方法的参数详解
csv.DictReader(csvfile, fieldnames=None, restkey=None, restval=None, dialect='excel')
- csvfile: 需要读取的csv文件对象
- fieldnames: CSV文件中第一行的值列表,如果省略,则字典的列名使用CSV文件的第一行。
- restkey: 当存在键名多于fieldnames的列的时候,用于保存那些列的值。该列的键值将作为字典的key,相应的值则作为value,都一起存在restkey中。
- restval: 给 restkey 列的值赋的缺省值,可以理解为默认值。
- dialect: 编码格式,常用的有:excel / excel-tab / unix / excel-tab 。Unicode strings are not supported.
csv.DictReader()方法的应用示例
现在我们通过两个示例来演示csv.DictReader()方法的具体应用。
示例1:读取csv文件中的数据
假设我们的csv文件test.csv内容如下:
name,age,email
zhangsan,22,zhangsan@example.com
lisi,25,lisi@example.com
wangwu,30,wangwu@example.com
下面我们来读取CSV文件中的数据:
import csv
with open('test.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row)
输出结果如下:
{'name': 'zhangsan', 'age': '22', 'email': 'zhangsan@example.com'}
{'name': 'lisi', 'age': '25', 'email': 'lisi@example.com'}
{'name': 'wangwu', 'age': '30', 'email': 'wangwu@example.com'}
示例2:指定CSV文件中的列名(fieldnames)
当CSV文件中没有第一行列名时,可以通过指定fieldnames参数来添加列名。接下来我们演示一下fieldnames的使用:
import csv
with open('test.csv') as csvfile:
fieldnames = ['name', 'age', 'email']
reader = csv.DictReader(csvfile, fieldnames=fieldnames)
for row in reader:
print(row)
输出结果如下:
{'name': 'zhangsan', 'age': '22', 'email': 'zhangsan@example.com'}
{'name': 'lisi', 'age': '25', 'email': 'lisi@example.com'}
{'name': 'wangwu', 'age': '30', 'email': 'wangwu@example.com'}
以上两个示例,分别演示了如何读取csv文件中的数据和如何指定CSV文件中的列名。希望这些例子可以帮助你更好地理解和运用csv.DictReader()方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python操作csv格式文件之csv.DictReader()方法 - Python技术站