python3 cvs将数据读取为字典的方法

  • Post category:Python

要将CSV数据读取为字典可以使用Python的csv模块。以下是使用Python3将CSV数据读入字典的步骤:

1. 导入csv模块

使用Python的csv模块需要先导入它:

import csv

2. 使用csv.DictReader()方法读取csv数据

使用csv.DictReader()方法可以将csv数据读入Python字典中。假设我们有一个叫做data.csv的文件,其中包含了以下数据:

Name,Age,Gender
Tom,25,Male
Jane,22,Female
Bob,30,Male

我们可以使用以下代码将data.csv读入字典中:

with open('data.csv') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)

在代码中,使用了Python的with语句来读取CSV文件,并使用csv.DictReader(file)将文件中的数据读入字典中。循环读取字典中的行数据,并将其打印出来。执行上面的代码,输出结果如下:

{'Name': 'Tom', 'Age': '25', 'Gender': 'Male'}
{'Name': 'Jane', 'Age': '22', 'Gender': 'Female'}
{'Name': 'Bob', 'Age': '30', 'Gender': 'Male'}

上面的代码将csv文件中的每一行转为字典,其中第一行作为字典的键(key),而其它的行作为字典的值(value)。

3. 指定csv数据中的列头信息

有些时候,我们在读入CSV数据时可能需要指定列头信息,使得读入的数据中包含我们希望的列。此时,我们可以使用csv.DictReader()方法的fieldnames参数指定列头信息。例如,如下代码将只读取csv文件中的Name和Gender列:

with open('data.csv') as file:
    reader = csv.DictReader(file, fieldnames=['Name', 'Gender'])
    for row in reader:
        print(row)

输出结果如下:

{'Name': 'Tom', 'Gender': '25'}
{'Name': 'Jane', 'Gender': '22'}
{'Name': 'Bob', 'Gender': '30'}

使用上面的方法,我们可以将CSV文件读入到Python中,并使用字典的方式方便地访问CSV中的数据。