📜  Python写CSV文件(1)

📅  最后修改于: 2023-12-03 15:19:31.929000             🧑  作者: Mango

Python写CSV文件

CSV(Comma Separated Values)是一种常用的文件格式,它将数据用逗号分隔,并保存为文本文件。在Python中,我们可以使用csv模块读取和写入CSV文件。

写入CSV文件

要写入CSV文件,我们可以使用csv.writer类。首先,我们需要打开一个CSV文件并创建一个csv.writer对象,然后把每一行数据写入CSV文件中。

以下是一个简单的例子,演示如何写入CSV文件。

import csv

# 打开文件,以写入的方式
with open('example.csv', 'w', newline='') as file:
    
    # 创建csv.writer对象
    writer = csv.writer(file)
    
    # 写入表头
    writer.writerow(['name', 'age', 'gender'])
    
    # 写入数据
    writer.writerow(['Alice', 25, 'Female'])
    writer.writerow(['Bob', 30, 'Male'])
    writer.writerow(['Charlie', 35, 'Male'])

在上面的代码中,我们使用with语句打开一个名为“example.csv”的文件,并以写入的方式打开它。newline=''参数是必要的,它可以避免在每一行之间创建空行。

然后,我们使用csv.writer类创建一个写入者对象。接着,使用writerow方法分别写入表头和数据行。

最后,使用with语句关闭文件。

按字典写入CSV文件

有时,我们可能需要按字典写入CSV文件。为此,我们可以使用csv.DictWriter类。

以下是一个例子,演示如何使用csv.DictWriter类按字典写入CSV文件。

import csv

# 字典列表
persons = [
    {'name': 'Alice', 'age': '25', 'gender': 'Female'},
    {'name': 'Bob', 'age': '30', 'gender': 'Male'},
    {'name': 'Charlie', 'age': '35', 'gender': 'Male'}
]

# 打开文件,以写入的方式
with open('example_dict.csv', 'w', newline='') as file:
    
    # 创建csv.DictWriter对象
    writer = csv.DictWriter(file, fieldnames=['name', 'age', 'gender'])
    
    # 写入表头
    writer.writeheader()
    
    # 写入数据
    for person in persons:
        writer.writerow(person)

在上面的代码中,我们创建了一个字典列表,每个字典表示一个人的信息。然后,我们使用with语句打开“example_dict.csv”文件并以写入的方式打开它。

接着,我们使用csv.DictWriter类创建一个写入者对象。fieldnames参数指定了表头的字段名。

然后,我们使用writer.writeheader()方法写入表头,并使用循环迭代字典列表,将每行字典写入CSV文件中。

最后,使用with语句关闭文件。

总结

Python的csv模块使处理CSV文件变得很容易。使用csv.writer类,我们可以按行写入CSV文件。使用csv.DictWriter类,我们可以按字典写入CSV文件。无论哪种方式,都需要确保CSV文件与我们的代码正确地对应。