Python 中将 CSV 转换为字典

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

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

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

在 Python 中把 CSV 转换成字典

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

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

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

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

import csv

mydict = {}

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'}

使用 Pandas 在 Python 中把 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 的话)。

相关文章 - Python CSV

  • 如何在 Python 中把列表写入 CSV
  • 在 Python 中将 CSV 文件转换为 JSON 文件
  • 相关文章 - Python Dictionary

  • Python 获取字典中的第一个键
  • 对 Python 字典中的值求和