Python利用xlrd库处理Excel数据

安装xlrd库

pip install xlrd==1.2.0

业务描述:

统计出每个学生上机完成百分比

Excel内容展示

在这里插入图片描述

代码实现

import xlrd


# 计算百分比
def format_percentage(a, b):
	p = 100 * a / b
	if p == 0.0:
		q = '0%'
	else:
		q = f'%.2f%%' % p
	return q

# sheet_names:获取所有的sheet的名字
workbook = xlrd.open_workbook("D:\\统计.xlsx")
print(workbook.sheet_names())


# sheet.nrows:获取指定sheet中的行数
# sheet.ncols:获取指定sheet中的列数
sheet1 = workbook.sheet_by_index(0)
# print(sheet1.nrows, sheet1.ncols)

# 获取某一单元格内容
# print(sheet1.cell_value(6,8))


# sheet.row_values(row,start_col,end_col):获取指定行的某几列的值,返回一个列表,里面各数据是字符串类型
cells = sheet1.row_values(6, 0, 30)

sumW = 0
sumY = 0
count = 4
while count < sheet1.nrows-1:
    count = count + 1
    # sheet.row_values(row,start_col,end_col):获取指定行的某几列的值,返回一个列表,里面各数据是字符串类型
    cells = sheet1.row_values(count, 0, 30)
    for cellName in cells:
        if cellName == '已完成' or cellName == '未完成':
            # print(cellName, end=' ')

            if cellName == '未完成':
                sumW = sumW + 1
            else:
                sumY = sumY + 1
    print(sheet1.cell_value(count,0), end=' ')
    bfb = (sumY/(sumW + sumY))*100
    print(format_percentage(bfb, 100))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要使用`xlrd`遍历Excel表并使用`pytest`进行数据驱动测试,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了`xlrd`和`pytest`。你可以使用以下命令通过pip安装它们: ```shell pip install xlrd pip install pytest ``` 2. 创建一个Excel文件,其中包含你的测试数据。假设你的Excel文件名为`test_data.xlsx`,并且数据位于名为`Sheet1`的工作表中。 3. 创建一个名为`test_data.py`的Python文件,并在其中编写测试用例和测试数据。以下是一个示例: ```python import xlrd import pytest # 读取Excel文件 def read_excel_file(file_path): workbook = xlrd.open_workbook(file_path) sheet = workbook.sheet_by_name('Sheet1') data = [] for row in range(1, sheet.nrows): test_case = { 'input': sheet.cell(row, 0).value, 'expected_output': sheet.cell(row, 1).value } data.append(test_case) return data # 测试用例 @pytest.mark.parametrize('test_data', read_excel_file('test_data.xlsx')) def test_my_function(test_data): input_data = test_data['input'] expected_output = test_data['expected_output'] # 执行测试逻辑,比如调用待测试的函数或方法 actual_output = my_function(input_data) # 断言实际输出与期望输出是否一致 assert actual_output == expected_output ``` 在上面的示例中,`read_excel_file`函数用于读取Excel文件并返回测试数据列表。`test_my_function`是一个测试用例函数,使用`@pytest.mark.parametrize`装饰器将测试数据作为参数传递给该函数。在测试用例函数中,你可以执行你的测试逻辑并使用断言来验证实际输出与期望输出是否一致。 请确保根据你的实际情况修改上述代码中的文件路径、工作表名称和列索引。 4. 运行测试。在命令行中进入包含`test_data.py`文件的目录,并运行以下命令: ```shell pytest ``` `pytest`将自动运行测试用例,并根据测试结果提供相应的输出。 这样,你就可以使用`xlrd`遍历Excel表并利用`pytest`进行数据驱动测试了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.史

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值