Python中有一个csv模块,它提供了一种简单的方法来处理CSV格式文件。其中,csv.DictReader()是一个非常有用的函数,它可以帮助我们解析CSV文件,并将其转换为Python字典的形式。
csv.DictReader()方法的使用
csv.DictReader()方法接受一个参数,即要解析的文件对象,返回一个字典列表,其中每个字典都对应文件中的一行。例如,如果要解析的文件有以下内容:
name,age,gender John,20,male Mary,18,female
那么,使用csv.DictReader()方法可以得到以下结果:
[ {'name': 'John', 'age': '20', 'gender': 'male'}, {'name': 'Mary', 'age': '18', 'gender': 'female'} ]
除了上述参数外,csv.DictReader()方法还支持一些其他可选参数,例如:
- dialect:用于指定CSV文件的格式;
- fieldnames:用于指定字段名称;
- restkey:用于指定未明确指定的字段名称;
- restval:用于指定未明确指定的字段值;
- skipinitialspace:用于指定是否忽略字段值中的空格;
- quotechar:用于指定字段值中使用的引号;
- quoting:用于指定字段值中使用的引号类型;
- strict:用于指定是否严格按照规定的格式解析文件。
例如,下面的代码演示了如何使用上述参数:
reader = csv.DictReader(open('file.csv'), dialect='excel', fieldnames=['name', 'age', 'gender'], restkey='other', restval='unknown', skipinitialspace=True, quotechar='"', quoting=csv.QUOTE_NONNUMERIC, strict=True)
有必要提醒的是,使用csv.DictReader()方法时,CSV文件必须有一行标题,即字段名称的行,否则将会抛出异常。