python csv,只写一次标题

作者:编程家 分类: python 时间:2025-10-24

使用Python的csv模块可以很方便地读取和写入CSV文件。CSV文件是一种常见的数据存储格式,它以逗号作为字段的分隔符,每行记录代表一个数据项。

在使用csv模块操作CSV文件时,通常我们会首先写入文件的标题,然后逐行写入数据。要实现只写一次标题的功能,可以通过判断文件是否为空来决定是否写入标题。下面是一个案例代码,演示了如何使用csv模块读取和写入CSV文件,并在中间段落中。

python

import csv

# 打开CSV文件进行写入,如果文件为空则写入标题

def write_csv_with_title(filename, data):

with open(filename, 'a', encoding='utf-8', newline='') as file:

# 判断文件是否为空

file.seek(0)

first_char = file.read(1)

if not first_char:

writer = csv.writer(file)

writer.writerow(['标题1', '标题2', '标题3']) # 写入标题

writer = csv.writer(file)

writer.writerow(data) # 写入数据

# 读取CSV文件并输出数据

def read_csv(filename):

with open(filename, 'r', encoding='utf-8') as file:

reader = csv.reader(file)

for row in reader:

print(row)

# 示例数据

data1 = ['数据1', '数据2', '数据3']

data2 = ['数据4', '数据5', '数据6']

# 写入CSV文件

write_csv_with_title('data.csv', data1)

write_csv_with_title('data.csv', data2)

# 读取CSV文件

read_csv('data.csv')

在上述案例代码中,我们首先定义了一个`write_csv_with_title`函数,它接收一个文件名和数据作为参数。该函数会打开指定的CSV文件进行写入操作。在打开文件后,我们通过判断文件是否为空来确定是否需要写入标题。如果文件为空,我们使用`csv.writer`创建一个写入器,并调用`writerow`方法写入标题行。接着,我们再次使用`csv.writer`创建写入器,并调用`writerow`方法写入数据行。

然后,我们定义了一个`read_csv`函数,它接收一个文件名作为参数。该函数会打开指定的CSV文件进行读取操作。我们使用`csv.reader`创建一个读取器,并使用`for`循环逐行读取并输出数据。

在使用这两个函数时,我们先调用`write_csv_with_title`函数两次,分别传入数据1和数据2。在第一次调用时,由于CSV文件为空,标题会被写入。然后,我们调用`read_csv`函数读取CSV文件,并输出所有数据。

通过使用Python的csv模块,我们可以方便地操作CSV文件,实现只写一次标题的功能。在实际应用中,我们可以根据需要对数据进行处理和分析,以满足不同的业务需求。