Python 中将 CSV 转换为字典

Rayven Esplanada 2023年1月30日
  1. 在 Python 中使用 csv 模块把 CSV 文件转换为字典
  2. 在 Python 中使用 Pandas 把 CSV 文件转换为字典
Python 中将 CSV 转换为字典

本教程将介绍如何在 Python 中把 csv 文件转换为字典,其中 csv 文件包含两列,第一列包含键,第二列包含值。

在本教程中,示例 CSV 的内容如下所示。

在 Python 中把 CSV 转换成字典

第一列包含将被用作键的标识符,第二列是值。

在 Python 中使用 csv 模块把 CSV 文件转换为字典

Python 有一个 csv 模块,它包含了各种实用函数来操作 CSV 文件,如转换、读取、写入和插入。要将 CSV 文件转换为字典,打开 CSV 文件,使用 csv 函数 reader() 将其读入一个变量,将文件存储为一个 Python 对象。

之后,使用字典推导法,通过迭代 reader 对象并访问其前两行作为字典的键值对,将 CSV 对象转换为字典。

import csv

dict_from_csv = {}

with open("csv_file.csv", mode="r") as inp:
    reader = csv.reader(inp)
    dict_from_csv = {rows[0]: rows[1] for rows in reader}

print(dict_from_csv)

输出:

{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}

在 Python 中使用 Pandas 把 CSV 文件转换为字典

另一种将 CSV 文件转换为 Python 字典的方法是使用 Pandas 模块,它包含了 CSV 文件的数据处理工具。

导入 pandas 后,利用它内置的函数 read_csv() 和一些参数来指定 csv 文件格式。调用 read_csv() 后,使用 pandas 内置函数 to_dict() 将结果转换为字典。

import pandas as pd

dict_from_csv = pd.read_csv(
    "csv_file.csv", header=None, index_col=0, squeeze=True
).to_dict()
print(dict_from_csv)

header 参数指定头文件是显式传递或由其他参数声明的。

index_col 指定哪一列被用作 read_csv() 函数返回的 DataFrame 对象的标签。在本例中,索引 0 的第一列是标签。

最后,squeeze 参数定义了数据是否只包含一列值。在这种情况下,只有一列,因为第一列被用作索引列或标签。

输出:

{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}
注意
如果遇到 No module named 'pandas' 的错误,那么请确认 pandas 已经安装在你的本地机器上,使用 pip install pandas 或者 pip3 install pandas(如果运行的是 Python 3 的话)。
Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

相关文章 - Python CSV

相关文章 - Python Dictionary