📜  python逐行写入csv - Python(1)

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

Python逐行写入CSV

CSV(Comma Separated Values)是一种常见的数据格式。Python提供了内置的CSV模块,使得我们可以方便地读写CSV文件。

本文将介绍如何使用Python逐行写入CSV文件。具体来说,我们将使用CSV模块的writer对象来分别写入表头和每一行数据。

准备工作

在开始之前,我们需要了解一些基础知识:CSV文件一般由表头和多行数据组成。表头是一个包含列名的列表,数据是由多个包含数据的列表组成的二维列表。

例如,下面是一个简单的CSV文件示例:

name,age,gender
Alice,25,Female
Bob,30,Male

在代码中,我们可以使用以下方式来表示这个CSV文件:

header = ["name", "age", "gender"]
data = [
    ["Alice", 25, "Female"],
    ["Bob", 30, "Male"]
]

在下面的代码示例中,我们将以这个CSV文件为例来演示逐行写入CSV数据的方法。

逐行写入CSV数据
第一步:打开CSV文件

我们可以使用Python内置的open()函数打开CSV文件。

import csv

with open("example.csv", "w", newline="") as file:
    writer = csv.writer(file)
    # 在这里编写写入代码

这里,我们使用csv.writer()函数创建一个writer对象,并将其与CSV文件关联。newline=""参数可以让writer对象正确处理行末的换行符问题。

第二步:写入表头

为了让CSV文件易于阅读和理解,我们通常需要在文件开头写入一个表头。

import csv

header = ["name", "age", "gender"]
data = [
    ["Alice", 25, "Female"],
    ["Bob", 30, "Male"]
]

with open("example.csv", "w", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(header)
    # 在这里编写写入数据的代码

这里,我们使用writerow()方法写入表头。注意,表头是一个列表,因此我们使用writerow(header)来写入表头的数据。

第三步:逐行写入数据

我们可以使用一个循环,将每一行数据写入CSV文件。

import csv

header = ["name", "age", "gender"]
data = [
    ["Alice", 25, "Female"],
    ["Bob", 30, "Male"]
]

with open("example.csv", "w", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(header)
    for row in data:
        writer.writerow(row)

这里,我们使用一个for循环,逐行写入数据。注意,每一行数据也是一个列表,因此我们使用writerow(row)来写入每一行数据。

完整代码示例
import csv

header = ["name", "age", "gender"]
data = [
    ["Alice", 25, "Female"],
    ["Bob", 30, "Male"]
]

with open("example.csv", "w", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(header)
    for row in data:
        writer.writerow(row)
总结

本文介绍了使用Python逐行写入CSV文件的方法。具体来说,我们使用CSV模块的writer对象分别写入表头和每一行数据。这种方法适用于我们需要动态生成CSV文件的情况,例如将爬虫数据写入CSV文件。

有了这个方法,我们可以轻松地实现自动写入CSV文件,提高我们的工作效率。