Python 中将 CSV 转换为字典
本教程将介绍如何在 Python 中把 csv 文件转换为字典,其中 csv 文件包含两列,第一列包含键,第二列包含值。
在本教程中,示例 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 的话)。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 逐行写入 CSV
- 使用 Python 将 XML 转换为 CSV
- 在 Python 中将列表写入 CSV 列
- 在 Python 中逐行读取 CSV
- 在 Python 中读取带有标题的 CSV
- 在 Python 中合并 CSV 文件