📜  csv.dictreader 示例 (1)

📅  最后修改于: 2023-12-03 15:30:13.129000             🧑  作者: Mango

csv.DictReader 示例

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)配合使用,实现更加强大的数据处理和分析功能。