📜  将 csv 导入为 dic - Python (1)

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

将 csv 导入为字典 - Python

在 Python 中,可以使用内置库 csv 来读取和处理 CSV (Comma Separated Values) 文件。CSV 文件通常是用于存储表格数据的一种流行的格式。本文将介绍如何将 CSV 文件导入为 Python 中的字典数据结构。

读取 CSV 文件

首先,我们需要使用 csv 库读取 CSV 文件。假设我们有一个名为 data.csv 的 CSV 文件,其中包含以下数据:

name,age,gender
Alice,25,Female
Bob,30,Male
Charlie,35,Male

可以使用以下 Python 代码读取该文件:

import csv

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

这里使用了 csv.DictReader 方法来读取 CSV 文件,并将其转换为一个包含字典对象的迭代器。在循环中,我们可以按行遍历这些字典对象,并对其进行处理。在本例中,我们只是将其打印输出。

输出结果为:

{'name': 'Alice', 'age': '25', 'gender': 'Female'}
{'name': 'Bob', 'age': '30', 'gender': 'Male'}
{'name': 'Charlie', 'age': '35', 'gender': 'Male'}
将 CSV 数据导入为字典

现在我们已经读取了 CSV 文件并将其转换为一个包含字典对象的迭代器,我们可以使用它们来构建 Python 中的字典。可以使用以下代码示例:

import csv

data = {}

with open('data.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        data[row['name']] = {
            'age': int(row['age']),
            'gender': row['gender']
        }

print(data)

在此示例中,我们创建一个空字典 data,然后按行遍历 CSV 文件中的字典对象。对于每个字典对象,在 data 字典中创建一个键值对,其中键是 name 列的值,值为一个包含 agegender 列的字典。请注意,我们在此处将 age 列强制类型转换为整数以获得更好的处理。

输出结果为:

{
    'Alice': {'age': 25, 'gender': 'Female'},
    'Bob': {'age': 30, 'gender': 'Male'},
    'Charlie': {'age': 35, 'gender': 'Male'}
}
结论

使用 Python 中的内置库 csv,我们可以轻松地从 CSV 文件中读取数据并将其转换为 Python 中的字典数据结构。在本文示例中,我们将 CSV 文件中的数据导入字典,但您也可以根据需要将其导入到其他数据结构中。