Python CSV文件模块的使用案例分析
什么是CSV文件?
CSV文件是一种常见且简单的文件格式,全称为“Comma-Separated Values”(逗号分隔值),也可以称为字符分隔值。它的每一行均表示为一条记录,每个字段中的值都用逗号隔开。由于CSV文件格式简单,通用性较好,在数据交换方面有着广泛的应用。
Python CSV文件的操作
Python内置了CSV文件模块,使得操作CSV文件变得更加方便。使用CSV文件模块可以方便地读取和写入CSV文件。
读取CSV文件
我们一般使用csv模块中的csv.reader()
函数来读取CSV文件。
import csv
# 打开CSV文件
with open('data.csv', newline='') as csv_file:
# 创建CSV读取器
csv_reader = csv.reader(csv_file, delimiter=',', quotechar='"')
# 逐行读取数据
for row in csv_reader:
print(row)
上面的代码中,我们先使用open()
函数打开CSV文件,然后使用csv.reader()
函数创建一个CSV读取器。读取器中的delimiter
参数用于指定分隔符,这里我们将其设为逗号; quotechar
参数用于指定数据中的引号,这里我们将其设为双引号。最后,我们使用一个for循环逐行读取数据。
写入CSV文件
使用CSV文件模块也可以方便地写入数据到CSV文件中,一般使用csv模块中的csv.writer()
函数来写入CSV文件。
import csv
# 写入CSV文件
with open('data.csv', mode='w', newline='') as csv_file:
# 创建CSV写入器
csv_writer = csv.writer(csv_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
# 写入表头
csv_writer.writerow(['姓名', '年龄'])
# 写入数据
csv_writer.writerow(['小明', 18])
csv_writer.writerow(['小红', 19])
上面的代码中,我们先使用open()
函数创建一个CSV文件。然后使用csv.writer()
函数创建一个CSV写入器。quoting
参数用于指定如何引用数据,这里我们将其设为csv.QUOTE_MINIMAL
,表示只在必要时才加双引号。最后,我们使用csv_writer.writerow()
函数将表头和数据写入到CSV文件中。
示例-1
下面是一个具体的示例,演示如何读取一个包含用例结果信息的CSV文件,计算测试用例的成功率和失败率,并输出详细的报告信息。假设我们的CSV文件“test_result.csv”的内容如下:
测试用户,,测试内容,测试结果
张三,,登录,成功
张三,,注册,失败
李四,,登录,成功
测试代码如下:
import csv
# 打开CSV文件
with open('test_result.csv', newline='') as csv_file:
# 创建CSV读取器
csv_reader = csv.DictReader(csv_file, delimiter=',', quotechar='"')
# 初始化变量
total_case = 0
success_case = 0
fail_case = 0
# 逐行读取数据
for row in csv_reader:
total_case += 1 # 总用例数自增
if row['测试结果'] == '成功':
success_case += 1 # 成功用例数自增
elif row['测试结果'] == '失败':
fail_case += 1 # 失败用例数自增
# 输出测试报告
print('---------------------------------------')
print('测试用例总数:{}'.format(total_case))
print('测试成功用例数:{}'.format(success_case))
print('测试失败用例数:{}'.format(fail_case))
print('测试成功率:{:.2f}%'.format(success_case / total_case * 100))
print('测试失败率:{:.2f}%'.format(fail_case / total_case * 100))
输出结果如下:
---------------------------------------
测试用例总数:3
测试成功用例数:2
测试失败用例数:1
测试成功率:66.67%
测试失败率:33.33%
示例-2
下面是另一个具体的示例,演示如何通过CSV文件读取和写入邮件列表。假设我们的CSV文件“email_list.csv”的内容如下:
John, john@example.com
David, david@example.com
Lucy, lucy@example.com
测试代码如下:
import csv
# 读取CSV文件
with open('email_list.csv') as csv_file:
# 创建CSV读取器
csv_reader = csv.reader(csv_file)
# 初始化邮件列表
email_list = []
# 逐行读取邮件
for row in csv_reader:
name, email = row
email_list.append(email)
# 输出邮件列表
print(email_list)
# 写入CSV文件
with open('new_email_list.csv', mode='w', newline='') as csv_file:
# 创建CSV写入器
csv_writer = csv.writer(csv_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
# 写入邮件列表
for email in email_list:
csv_writer.writerow([email])
输出结果如下:
['john@example.com', 'david@example.com', 'lucy@example.com']
我们使用csv.reader()
函数读取CSV文件,逐行读取数据并初始化邮件列表。然后,我们使用csv.writer()
函数将邮件列表写入到新的CSV文件new_email_list.csv
中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python CSV文件模块的使用案例分析 - Python技术站