在使用 Python 读取 CSV 文件时,我们可以使用标准库中的 csv
模块,该模块提供了读取 CSV 文件的功能。同时,结合 Python 3 中的字典、列表等数据结构可以实现将 CSV 数据读取为字典类型。
下面是具体的步骤:
1.导入 csv
模块
在 Python 代码中引入 csv
模块:
import csv
2.打开 CSV 文件并创建一个 CSV 的阅读器
可以使用内置的 open()
函数来打开 CSV 文件,并调用 csv
模块的 reader()
函数创建 CSV 的阅读器。然后利用阅读器的 DictReader()
方法将 CSV 文件的数据读取为字典类型。
with open('example.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row)
上述代码中,在 DictReader()
函数中指定了参数 fieldnames
,将 CSV 文件中的列名作为字典中的键。同时,可以在 open()
函数中制定文件名,此处的文件名为 example.csv
。
3.读取 CSV 数据作为字典类型
在使用 csv
模块的 DictReader()
函数时,读取的 CSV 数据会自动被转换为一个字典对象。字典的键即为 CSV 第一行中的列名,字典的值即为每一行对应列名的数据。
实际使用时,可以迭代读取这个字典列表,从而获得每一行的数据。
with open('example.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print('Name:', row['Name'], 'Age:', row['Age'], 'Gender:', row['Gender'])
上述代码中,我们可以看到使用了字典对象的索引来访问 CSV 数据每行中的指定列,其中参数 'Name'
、'Age'
、'Gender'
即为 CSV 文件中第一行的列标签。
示例说明:
假如我们有一个名为 student.csv
的 CSV 文件,其数据如下:
Id,Name,Age,Gender,Grade
001,Jack,20,Male,95
002,Mary,19,Female,88
003,Tom,21,Male,76
004,Lily,22,Female,83
以此为例,我们尝试将其读取为字典数据
import csv
with open('student.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row)
上述代码运行后,可以看到输出的结果如下:
{'Id': '001', 'Name': 'Jack', 'Age': '20', 'Gender': 'Male', 'Grade': '95'}
{'Id': '002', 'Name': 'Mary', 'Age': '19', 'Gender': 'Female', 'Grade': '88'}
{'Id': '003', 'Name': 'Tom', 'Age': '21', 'Gender': 'Male', 'Grade': '76'}
{'Id': '004', 'Name': 'Lily', 'Age': '22', 'Gender': 'Female', 'Grade': '83'}
我们可以看到 CSV 文件中的每一行数据都被转换为了字典对象中的一项。
下面的示例将读取到的 CSV 数据作为字典类型,并输出每行数据对应的学生姓名,年龄和性别:
import csv
with open('student.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print('Name:', row['Name'], 'Age:', row['Age'], 'Gender:', row['Gender'])
上述代码输出的结果为:
Name: Jack Age: 20 Gender: Male
Name: Mary Age: 19 Gender: Female
Name: Tom Age: 21 Gender: Male
Name: Lily Age: 22 Gender: Female
我们可以看到,通过字典对象的索引功能,可以方便的获取到 CSV 文件中每行数据的指定列。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3 cvs将数据读取为字典的方法 - Python技术站