Python字典写入CSV

Python字典写入CSV

什么是CSV文件?

CSV是Comma-Separated Values的缩写,即逗号分隔值。它是一种常见的电子表格文件格式,在数据处理和数据交换中极为常见。CSV文件使用文本进行格式化,每条记录都占用一行并使用逗号分隔字段。

例如下面这个简单的CSV文件:

name,age,gender
Mike,25,Male
Lucy,24,Female
Tom,26,Male

其中第一行是表头,描述了每个字段的含义,后面各行表示各个记录,各个字段用逗号进行分隔。

Python写入CSV文件

在Python中,要把一个字典写入CSV文件,需要先将字典转化为一个二维列表,再通过Python的csv模块进行写入操作。

下面演示一个例子:

import csv

data = [
    {"name": "Mike", "age": "25", "gender": "Male"},
    {"name": "Lucy", "age": "24", "gender": "Female"},
    {"name": "Tom", "age": "26", "gender": "Male"}
]
fields = ["name", "age", "gender"]

with open("example.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.DictWriter(f, fields)
    writer.writeheader()
    writer.writerows(data)

上面代码中,首先定义了一个字典列表data,其中每个字典表示一个记录。然后定义了一个字段列表fields,表示每条记录包含哪些字段。

接着使用csv.DictWriter创建一个writer对象,指定文件对象f和字段列表fields。函数writeheader()用来写入表头,函数writerows()用来写入多行记录。

最后将这个二维列表数据写入到文件example.csv中。注意要设置newline=””,否则将在写入文件时自动添加额外的空行。要指定编码为”utf-8″,以免出现乱码问题。

这个例子写入的CSV文件内容如下:

name,age,gender
Mike,25,Male
Lucy,24,Female
Tom,26,Male

读取CSV文件

如果要读取CSV文件并将数据转换为字典,可以使用Python的csv模块。

import csv

with open("example.csv", "r", encoding="utf-8") as f:
    reader = csv.DictReader(f)
    for row in reader:
        print(row)

上面代码中,使用csv.DictReader读取文件example.csv,得到一个可迭代的reader对象。然后使用for循环逐行读取记录,并将其转换为一个字典,输出到控制台。

运行上面代码将输出:

{'name': 'Mike', 'age': '25', 'gender': 'Male'}
{'name': 'Lucy', 'age': '24', 'gender': 'Female'}
{'name': 'Tom', 'age': '26', 'gender': 'Male'}

结论

Python内置的csv模块提供了方便的CSV文件读写功能。使用csv.DictWriter可以将字典列表写入CSV文件,使用csv.DictReader可以将CSV文件读取为字典。通过CSV文件格式化的特点,我们可以轻松地进行数据交换和数据处理。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程