📅  最后修改于: 2023-12-03 15:30:13.129000             🧑  作者: Mango
csv.DictReader
是 Python 标准库中用于读取 CSV 文件的工具之一。它可以将每一行作为一个字典返回,其中每个键对应 CSV 表格的列,值则是该行中对应列所在的值。
首先需要导入 csv 模块,然后使用 csv.DictReader
函数来读取 CSV 文件。以下为一个示例:
import csv
with open('data.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row)
其中,'data.csv' 为 CSV 数据文件的路径,newline=''
是为了避免在 Windows 操作系统下的换行符问题。
执行上述代码后,输出的结果会是类似以下的格式:
{'Name': 'John', 'Age': '25', 'Country': 'USA'}
{'Name': 'Jane', 'Age': '30', 'Country': 'Canada'}
{'Name': 'Bob', 'Age': '40', 'Country': 'UK'}
这里以一个名为 'data.csv' 的文件作为例子,文件内容如下:
Name,Age,Country
John,25,USA
Jane,30,Canada
Bob,40,UK
注:该文件内每行都为逗号分隔,且首行为标题行。
可以看到,csv.DictReader
将每一行都作为一个字典,其中将标题行作为键,其对应的值则是该行对应列的值。
csv.DictReader
可以接收一些参数来指定 CSV 数据的解析规则:
csvfile
: CSV 数据文件的路径fieldnames
: 表示 CSV 数据文件的第一行为标题行,如果该参数省略,则默认将第一行作为标题行。如果该参数指定了标题行,且 CSV 文件没有标题行,则解析出来的字典中不含有该指定的键。restkey
: 如果 CSV 数据文件有超出 fieldnames
范围的列,则将这些列作为一个列表返回,并且使用 restkey
指定的键名作为键值对的键,该参数默认为 None
。restval
: 如果 CSV 数据文件有某些行少于指定的 fieldnames
字段数,则将缺少的字段都设置为 restval
指定的值,默认为 None
。delimiter
: CSV 数据文件的字段分隔符,默认使用 ,
。quotechar
: CSV 数据文件的引用字符,默认使用 "
。quoting
: 针对 CSV 数据文件的引用字符的处理方式,默认为 QUOTE_MINIMAL
,表示只处理包含特殊字符的字段。csv.DictReader
是一种方便且易于使用的 CSV 文件读取工具,它提供了多种参数选项来满足不同的读取需求。同时,它还可以与其他 Python 数据处理库(如 Pandas)配合使用,实现更加强大的数据处理和分析功能。