Python CSV文件模块的使用案例分析

yizhihongxing

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技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • flex中event.preventDefault()方法取消事件的默认行为

    当一个事件被触发时,在事件的传导过程中,事件会按照默认规则来进行处理,如链接默认跳转,表单默认提交等。如果我们想要取消这些默认行为,可以使用event.preventDefault()方法。 一、什么是flex? 在介绍event.preventDefault()方法取消事件默认行为之前,我们先来简单介绍一下flex布局。 flex布局可以让容器内的子元素以…

    python 2023年6月13日
    00
  • python re.match函数的具体使用

    下面我将为您详细讲解 Python re.match 函数的具体使用。首先,先来看一下 re.match 函数的语法: re.match(pattern, string, flags=0) 其中,各参数的作用如下: pattern:正则表达式模式,用于匹配输入的字符串; string:要匹配的字符串; flags(可选):正则表达式的匹配标志,通常作为可选参…

    python 2023年6月3日
    00
  • Python实现文件及文件夹操作大全

    Python实现文件及文件夹操作大全 1. 文件操作 1.1 打开文件 Python使用内置函数open()打开文件,并返回文件对象。语法如下: f = open(file_path, mode) 其中,file_path表示文件的路径,可以是相对路径或绝对路径;mode表示打开文件的模式,常用模式如下: r:只读模式,打开文件后只能读取,不能写入,默认模式…

    python 2023年6月2日
    00
  • Python探针完成调用库的数据提取

    为了让讲解更加详细,我将分为以下几个步骤来讲解Python探针完成调用库的数据提取的完整攻略: 安装Python探针 安装依赖库 调用库进行数据提取 示例说明 下面分别来进行讲解。 1. 安装Python探针 安装Python探针是从源头开始进行数据提取的必要步骤。可以使用一些常用的Python探针,如pyinstrument、cProfile等。在这里以p…

    python 2023年6月3日
    00
  • python的random和time模块详解

    Python的random和time模块详解 random模块 Python的random模块提供生成伪随机数的函数。以下是random模块中一些比较有用的函数: randint() randint(a, b)返回[a,b]区间内的一个随机整数。 import random print(random.randint(1, 6)) # 输出1~6中的一个整数(…

    python 2023年5月14日
    00
  • Python3使用xlrd、xlwt处理Excel方法数据

    下面来详细讲解一下“Python3使用xlrd、xlwt处理Excel方法数据”的完整实例教程。这里我们首先介绍一下xlrd和xlwt两个库。 1. xlrd和xlwt库介绍 xlrd是一个用来读取Excel文件的Python库,能够支持.xls格式的Excel文件,但是不支持.xlsx格式的文件。xlwt则是一个用来写Excel文件的Python库,支持.…

    python 2023年5月13日
    00
  • Python中time模块和datetime模块的用法示例

    一、time模块示例 time模块是Python标准库中的一个模块,提供了一些方便对时间进行处理的函数和类。下面通过两个示例,具体演示time模块的用法。 1.1 获取当前时间戳 获取当前时间戳,即从1970年1月1号到现在经过的秒数,可使用time模块的time()函数。代码如下: import time timestamp = time.time() p…

    python 2023年5月18日
    00
  • Python运行DLL文件的方法

    下面是Python运行DLL文件的方法的完整攻略。 一、概述 在Python中调用DLL文件可以使用ctypes模块。ctypes模块,即C Types Python模块,是一个支持Python与动态链接库(DLLs)之间的交互的库。ctypes模块提供了一个跨平台的Foreign Function Interface (FFI)。通过提供一些C语言中的da…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部