python学习笔记-excel用例输入

合集下载

Python使用xlwings往excel中写入一行数据的两种方法

Python使用xlwings往excel中写入一行数据的两种方法

Python使用xlwings往excel中写入一行数据的两种方法使用xlwings库可以很方便地往Excel中写入数据。

下面介绍两种常用的写入一行数据的方法。

方法一:使用Range函数写入一行数据```import xlwings as xw# 打开指定的Excel文件wb = xw.Book('文件路径.xlsx')# 选择要写入数据的Sheetsht = wb.sheets['Sheet1']#定义要写入的数据data = ['项目A', '项目B', '项目C', '项目D']#写入数据sht.range('A1').expand(.value = data# 关闭Excel文件wb.savewb.close```方法二:使用扩展方式写入一行数据```import xlwings as xw# 打开指定的Excel文件wb = xw.Book('文件路径.xlsx')# 选择要写入数据的Sheetsht = wb.sheets['Sheet1']#定义要写入的数据data = ['项目A', '项目B', '项目C', '项目D'] # 获取当前Sheet中已经存在的最后一行last_row = sht.range(1,st_cell.row).end('up').row#写入数据sht.range(f'A{last_row+1}').value = data# 关闭Excel文件wb.savewb.close```以上是使用xlwings写入一行数据的两种方法,可以根据具体需求选择适合的方式。

方法一使用了expand(函数将单元格范围扩展到数据的长度,然后直接将数据赋值给该范围。

excel 中python用法

excel 中python用法

一、介绍Excel是一款广泛使用的电子表格软件,Python是一种流行的编程语言。

结合Excel和Python的使用可以提高数据处理的效率和灵活性。

本文将介绍在Excel中使用Python的方法和技巧。

二、Python插件安装1. 打开Excel并进入“文件”菜单。

2. 选择“选项”。

3. 在选项对话框中,选择“加载项”。

4. 点击“Excel加载项”下的“转到”按钮。

5. 在“添加-Ins”对话框中,点击“浏览”。

6. 找到并选择Python插件的安装文件,点击“打开”。

7. 完成安装并重启Excel。

三、使用Python进行数据处理1. 在Excel中新建一个工作表。

2. 在需要进行数据处理的单元格输入Python函数,例如“=Py.COUNTIF(A1:A10,">5")”。

3. 按下Enter键,Excel会调用Python插件执行该函数,并在单元格中显示结果。

四、Python函数示例1. 使用Python的COUNTIF函数统计大于5的数据个数。

2. 使用Python的SUM函数计算数据的总和。

3. 使用Python的AVERAGE函数计算数据的平均值。

4. 使用Python的IF函数进行条件判断。

5. 使用Python的VLOOKUP函数进行数据查找。

五、Python脚本执行1. 在Excel中打开一个工作表。

2. 点击“开发人员”选项卡。

3. 选择“插入”下的“ActiveX 控件”。

4. 在工作表中插入一个按钮控件,右键点击该按钮并选择“属性”。

5. 在“单击”事件中绑定Python脚本文件。

6. 点击按钮执行Python脚本,实现自定义的数据处理逻辑。

六、Python图表生成1. 在Excel中选择需要生成图表的数据范围。

2. 点击“插入”选项卡中的“插入统计图表”按钮。

3. 在弹出的对话框中选择“Python图表”。

4. 根据需要选择图表类型和样式,点击确定生成图表。

Python对Excel操作用法详解

Python对Excel操作用法详解

Python对Excel操作⽤法详解在python中,对excel表格读,写,追加数据,⽤以下三个模块:1、xlrd 读取excel表中的数据2、xlwt 创建⼀个全新的excel⽂件,然后对这个⽂件进⾏写⼊内容以及保存。

3、xlutils 读⼊⼀个excel⽂件,然后进⾏修改或追加,不能操作xlsx,只能操作xls。

⼀、读excel表读excel要⽤到xlrd模块1、导⼊模块 import xlrd2、打开excel⽂件table = data.sheets()[0] #通过索引顺序获取table = data.sheet_by_index(0) #通过索引顺序获取table = data.sheet_by_name(u'Sheet1')#通过名称获取代码如下:import xlrddata = xlrd.open_workbook(r"C:\Users\907968\Desktop\test.xlsx")table1 = data.sheets()[0]table2 = data.sheet_by_index(0)table3=data.sheet_by_name(u'Sheet1')print(table1)print(table2)print(table3)返回:<xlrd.sheet.Sheet object at 0x0000000002F7F208><xlrd.sheet.Sheet object at 0x0000000002F7F208><xlrd.sheet.Sheet object at 0x0000000002F7F208>3、获取⾏数和列数import xlrddata = xlrd.open_workbook(r"C:\Users\907968\Desktop\test.xlsx")table = data.sheets()[0]nrows = table.nrowsncols = table.ncolsprint("⾏数:%d\n列数:%d"%(nrows,ncols))返回:⾏数:13列数:34、获取整⾏和整列的值,以列表形式返回rows = table.row_values(0)cols = table.col_values(0)print("rows:%s\ncols:%s"%(rows,cols))返回:rows:['A1', 'B1', 'C1']cols:['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10', 'A11', 'A12', 'A13']5、获取单元格数据cell_A1 = table.cell_value(0,0)cell_C4 = table.cell_value(3,2)print("A1:%s\nC4:%s"%(cell_A1,cell_C4))返回:A1:A1C4:C4还可以使⽤⾏列索引来获取单元格数据cell_A1 = table.row(0)[0].valuecell_C4 = table.col(2)[3].valueprint("A1:%s\nC4:%s"%(cell_A1,cell_C4))返回:A1:A1C4:C4三、写excel操作1、导⼊:import xlwt2、创建workbookworkbook = xlwt.Workbook(encoding='utf-8', style_compression=0)encoding:设置字符编码,⼀般要这样设置:w = Workbook(encoding=’utf-8’),就可以在excel中输出中⽂了。

使用python操作excel

使用python操作excel

使⽤python操作excel使⽤python操作excelpython操作excel主要⽤到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。

安装xlrd模块#pip install xlrd使⽤介绍常⽤单元格中的数据类型 empty(空的) string(text) number date boolean error blank(空⽩表格) empty为0,string为1,number为2,date为3,boolean为4, error为5(左边为类型,右边为类型对应的值)导⼊模块import xlrd打开Excel⽂件读取数据data = xlrd.open_workbook(filename[, logfile, file_contents, ...])#⽂件名以及路径,如果路径或者⽂件名有中⽂给前⾯加⼀个r标识原⽣字符。

#filename:需操作的⽂件名(包括⽂件路径和⽂件名称);若filename不存在,则报错FileNotFoundError;若filename存在,则返回值为xlrd.book.Book对象。

常⽤的函数 excel中最重要的⽅法就是book和sheet的操作# (1)获取book中⼀个⼯作表names = data.sheet_names()#返回book中所有⼯作表的名字table = data.sheets()[0]#获取所有sheet的对象,以列表形式显⽰。

可以通过索引顺序获取,table = data.sheet_by_index(sheet_indx))#通过索引顺序获取,若sheetx超出索引范围,则报错IndexError;若sheetx在索引范围内,则返回值为xlrd.sheet.Sheet对象table = data.sheet_by_name(sheet_name)#通过名称获取,若sheet_name不存在,则报错xlrd.biffh.XLRDError;若sheet_name存在,则返回值为xlrd.sheet.Sheet对象以上三个函数都会返回⼀个xlrd.sheet.Sheet()对象data.sheet_loaded(sheet_name or indx)# 检查某个sheet是否导⼊完毕,返回值为bool类型,若返回值为True表⽰已导⼊;若返回值为False表⽰未导⼊# (2)⾏的操作nrows = table.nrows#获取该sheet中的有效⾏数table.row(rowx)#获取sheet中第rowx+1⾏单元,返回值为列表;列表每个值内容为:单元类型:单元数据table.row_slice(rowx[, start_colx=0, end_colx=None])#以切⽚⽅式获取sheet中第rowx+1⾏从start_colx列到end_colx列的单元,返回值为列表;列表每个值内容为:单元类型:单元数据table.row_types(rowx, start_colx=0, end_colx=None)#获取sheet中第rowx+1⾏从start_colx列到end_colx列的单元类型,返回值为array.array类型。

Python学习笔记_使用openpyxl操作Excel,在同一个文件里复制某一个sheet

Python学习笔记_使用openpyxl操作Excel,在同一个文件里复制某一个sheet

Python学习笔记_使⽤openpyxl操作Excel,在同⼀个⽂件⾥复制某⼀个sheet应⽤场景:定制⼀个Excel模板⽂件,其中定义了⼀个模板Sheet,以此模板⽂件⾥的模板sheet为样例,制作报表,⾥⾯有不⽌⼀个模板样例Sheet⼀、软件环境:1.OS:Win10 64位2.Python3.7⼆、准备:在测试⽂件夹下准备⼀个Excel模板⽂件,ExcelMod.xlsx,sheet name:mod样例如下:三、参考代码:#! -*- coding utf-8 -*-#! Python Version 3.7import openpyxlfrom openpyxl.styles import Font,Alignmentdef main():sSourceFile="ExcelMod.xlsx"sTargetFile="Target.xlsx"wb = openpyxl.load_workbook(sSourceFile)copy_sheet1=wb.copy_worksheet(wb.worksheets[0])copy_sheet2=wb.copy_worksheet(wb.worksheets[0])copy_sheet3=wb.copy_worksheet(wb.worksheets[0])wb.save(sTargetFile)print("It is over")if__name__=="__main__":main()四、⽣成⽂件的样例⽣成的Sheet name分别是Mod Copy、Mod Copy1、Mod Copy2五、Sheet name改名如果想定制复制好的sheet name,可对sheet name进⾏修改,下例,把复制的第⼀个sheet,改为sheet1参考代码:#! -*- coding utf-8 -*-#! Python Version 3.7import openpyxlfrom openpyxl.styles import Font,Alignmentdef main():sSourceFile="ExcelMod.xlsx"sTargetFile="Target.xlsx"wb = openpyxl.load_workbook(sSourceFile)copy_sheet1=wb.copy_worksheet(wb.worksheets[0])copy_sheet2=wb.copy_worksheet(wb.worksheets[0])copy_sheet3=wb.copy_worksheet(wb.worksheets[0])copy_sheet1.title="Sheet1"wb.save(sTargetFile)print("It is over")if__name__=="__main__":main()⽣成结果:其它两个复制的sheet,也可以分别修改copy_sheet2.title="Sheet2"copy_sheet3.title="Sheet3"六、注意事项:Excel模板⽂件,只能是.xlsx格式的,不能是早期版本的.xls格式的,否则会报错。

pytest-excel模块的用法

pytest-excel模块的用法

pytest-excel模块的用法pytestexcel是一个基于pytest框架的插件,它提供了一种简洁有效的方式,用于在单元测试中读取和写入Excel文件。

该模块适用于Python开发人员,帮助他们在测试用例中方便地使用Excel作为数据源。

在本文中,我将给出一个详细的步骤,以指导读者使用pytestexcel模块。

文章将从安装所需的软件开始,然后介绍如何编写测试用例和使用pytestexcel模块来读取和写入Excel文件。

第一步:安装pytest和pytestexcel模块要使用pytestexcel模块,首先需要安装pytest和pytestexcel。

在命令行中使用以下命令来安装这两个模块:pip install pytestpip install pytest-excel安装完成后,可以通过运行以下命令来验证是否成功安装pytestexcel模块:pytest version如果显示了pytest的版本号,则说明模块安装成功。

第二步:创建Excel文件在开始编写测试用例之前,需要准备一个Excel文件作为数据源。

创建一个新的Excel文件,并使用合适的列标题来标识测试数据。

确保将测试数据保存在工作表的第一个工作表中。

例如,假设我们想测试一个计算器函数,我们可以在Excel文件中创建以下数据:A B C数字1 数字2 期望结果2 3 54 5 96 7 13保存Excel文件,并记住它的路径。

第三步:编写测试用例现在我们已经准备好Excel文件,可以开始编写测试用例了。

在您的Python项目中创建一个新的测试文件,并在文件中导入pytestexcel模块。

pythonimport pytestimport pytestexcel接下来,我们需要定义一个fixture函数,它将用于从Excel文件中获取和返回测试数据。

使用pytest的fixture装饰器将该函数标记为fixture,指定在测试运行之前运行的操作。

python excelwriter用法

python excelwriter用法

python excelwriter用法ExcelWriter是pandas库中的一个类,用于将pandas数据结构(如DataFrame)写入Excel文件。

以下是其基本用法:首先,你需要导入pandas库:pythonimport pandas as pd然后,你可以使用ExcelWriter创建一个Excel文件,并将数据写入其中。

以下是一个简单的例子:python# 创建一个ExcelWriter对象writer = pd.ExcelWriter('output.xlsx')# 假设你有一个DataFrame dfdf = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]})# 将DataFrame写入Excel文件df.to_excel(writer, sheet_name='Sheet1')# 保存Excel文件writer.save()在这个例子中,我们首先创建了一个ExcelWriter对象,指定了要写入的Excel文件的名称('output.xlsx')。

然后,我们创建了一个包含一些数据的DataFrame,并使用to_excel方法将其写入Excel文件。

最后,我们调用save方法保存Excel文件。

注意,如果你的Excel文件已经存在,并且你不希望覆盖它,你应该在创建ExcelWriter 对象时添加mode='a'参数,以在现有文件中追加数据。

但是,需要注意的是,pandas 的ExcelWriter默认引擎(openpyxl或xlsxwriter)不支持追加模式。

你可能需要改变引擎或者使用其他库(如openpyxl)来实现追加功能。

此外,ExcelWriter还支持写入多个工作表。

你可以通过多次调用to_excel方法,并改变sheet_name参数来实现这一点。

python处理excel实例

python处理excel实例

python处理excel实例Python是一种强大的编程语言,可以用于各种各样的任务,包括数据处理。

Excel是一个广泛使用的电子表格应用程序,用于处理和管理数据。

Python可以与Excel相结合,提供更高效和灵活的数据处理方式。

下面是一些Python处理Excel的实例:1.读取Excel文件: Python可以使用pandas包中的read_excel 函数读取Excel文件。

下面是一个简单的读取Excel文件的代码示例: import pandas as pd#读取Excel文件data = pd.read_excel('file.xlsx')print(data)2.写入Excel文件: Python也可以使用pandas包中的to_excel 函数将数据写入Excel文件。

下面是一个简单的写入Excel文件的代码示例:import pandas as pd#创建数据data = {'姓名': ['张三', '李四', '王五'], '年龄': [20, 25, 30]}#将数据转换为DataFrame格式df = pd.DataFrame(data)#将DataFrame写入Excel文件df.to_excel('file.xlsx', index=False)3.修改Excel文件: Python可以使用openpyxl包中的load_workbook函数打开Excel文件,并使用它的方法修改文件。

下面是一个简单的修改Excel文件的代码示例:from openpyxl import load_workbook#加载Excel文件wb = load_workbook('file.xlsx')#获取工作表ws = wb.active#修改单元格ws['A1'] = '姓名'ws['B1'] = '年龄'#保存文件wb.save('file.xlsx')这些实例只是Python处理Excel的基础知识,还有很多其他的功能和技巧可以使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

python学习笔记(接口自动化框架V2.0)这个是根据上次框架版本进行的优化用python获取excel文件中测试用例数据通过requets测试接口、并使用正则表达式验证响应信息内容生成xml文件测试报告版本更新内容:1. 整理了CreateTest.test_main()流程逻辑2. 优化了testcase.xls文件格式3. 添加了生成XML文件测试报告代码如下:1#!/usr/bin/env python2# -*- coding: utf_8 -*-3# 获取测试用例文件excel45import xlrd6import json789class CreateExcel:10def__init__(self):11pass1213 @classmethod14def open_excel(cls):15 path = "testcase.xls"16 workbook = xlrd.open_workbook(path)17 table = workbook.sheets()[0]18return table1920# 获取sheet2122 @classmethod23def get_nrows(cls, table):24 nrows = table.nrows25return nrows2627# 获取行号2829 @classmethod30def get_id(cls, table, nrows):31 testid = []32for i in range(1, nrows):33 testid.append(table.cell(i, 0).value)34return testid3536 @classmethod37def get_name(cls, table, nrows):38 testname = []39for i in range(1, nrows):40 testname.append(table.cell(i, 1).value)41return testname4243# 获取用例name4445 @classmethod46def get_data(cls, table, nrows):47 testdata = []48for i in range(1, nrows):49try:50 data = json.loads(table.cell(i, 2).value)51 testdata.append(data)52except ValueError:53 testdata.append(None)54return testdata5556# 获取data接口参数5758 @classmethod59def get_url(cls, table, nrows):60 testurl = []61for i in range(1, nrows):62 testurl.append(table.cell(i, 3).value)63return testurl6465# 获取接口测试url6667 @classmethod68def get_method(cls, table, nrows):69 testmethod = []70for i in range(1, nrows):71 testmethod.append(table.cell(i, 4).value) 72return testmethod7374# 获取接口测试method7576 @classmethod77def get_pattern(cls, table, nrows):78 testpattern = []79for i in range(1, nrows):80 testpattern.append(table.cell(i, 5).value) 81return testpattern8283# 获取接口期望响应结果841#!/usr/bin/env python2# -*- coding: utf_8 -*-3# 测试核心组件45import requests6import re7from datetime import datetime8from createexcel import CreateExcel9from xml.dom import minidom10import sys111213class CreateTest:14 reload(sys)15 sys.setdefaultencoding("utf-8")1617# 避免字符串写入文件出错1819def__init__(self):20pass2122 @classmethod23def test_api(cls, method, url, data):24global results25try:26if method == "post":27 results = requests.post(url, data)28if method == "get":29 results = requests.get(url, data)30return results31except Exception.__bases__:32print"服务器访问失败"3334# 接口函数3536 @classmethod37def test_on(cls):38print"用例执行开始"3940 @classmethod41def test_close(cls):42print"用例执行结束"4344 @classmethod45def test_result(cls, pa):46global report47try:48 pattern = pile(pa)49 match = pattern.search(testresults.text) 50if match.group() == pa:51 report = "测试通过"52except AttributeError:53 report = "测试失败"54return report5556# 正则表达式检测5758 @classmethod59def test_http(cls, code):60print"请求返回状态码: ", code6162 @classmethod63def test_time(cls):64 nowtime = datetime.today()65 time = nowtime.strftime("%Y-%m-%d %H:%M:%S") 66return time6768# 获取当前时间转化字符串6970 @classmethod71def test_report(cls):72 nowtime = datetime.today()73 reportime = nowtime.strftime("%Y%m%d%H%M%S")74 reportname = reportime + ".xml"75return reportname7677# 获取测试报告文件名称7879 @classmethod80def test_main(cls):81global testresults82 table = CreateExcel.open_excel()83 nrows = CreateExcel.get_nrows(table)84 xml = minidom.Document()85 xml.appendChild(xml.createComment("测试报告"))86 caselist = xml.createElement("caselist")87 xml.appendChild(caselist)88for i in range(0, nrows - 1):89 testid = CreateExcel.get_id(table, nrows)[i]90 testname = CreateExcel.get_name(table, nrows)[i]91 testdata = CreateExcel.get_data(table, nrows)[i]92 testurl = CreateExcel.get_url(table, nrows)[i]93 testmethod = CreateExcel.get_method(table, nrows)[i]94 testpattern = CreateExcel.get_pattern(table, nrows)[i]9596# 执行测试97 CreateTest.test_on()98 testresults = CreateTest.test_api(testmethod, testurl, testdata)99 testcode = str(testresults.status_code)100try:101 CreateTest.test_http(testresults.status_code)102except AttributeError:103pass104 CreateTest.test_close()105# 执行结束106# 生成xml文件107 case = xml.createElement("case")108 case.setAttribute("id", testid)109# 输入用例ID110111 name = xml.createElement("name")112 name.appendChild(xml.createTextNode(testname))113# 输入用例名称114 method = xml.createElement("method")115 method.appendChild(xml.createTextNode(testmethod))116# 输入接口类型117 code = xml.createElement("code")118 code.appendChild((xml.createTextNode(testcode)))119# 输入用例返回状态码120 result = xml.createElement("result")121result.appendChild(xml.createTextNode(CreateTest.test_result(testpattern)))122# 输入用例测试结果123 time = xml.createElement("time")124 time.appendChild(xml.createTextNode(CreateTest.test_time()))125# 输入用例执行时间126127 case.appendChild(name)128 case.appendChild(method)129 case.appendChild(code)130 case.appendChild(result)131 case.appendChild(time)132133 caselist.appendChild(case)134# xml文件生成结束135 filename = file(CreateTest.test_report(), "w+")136# 生成以当前时间命名的测试报告文件137 xml.writexml(filename)138 filename.close()139# 关闭文件140141142if__name__ == '__main__':143 CreateTest.test_main()下面是测试入口:1#!/usr/bin/env python2# -*- coding: utf_8 -*-3# **************************************************************** 4# interface.py5# Author : ChenLei6# Version : 2.07# Date : 2016-4-158# **************************************************************** 910import time11from createtest import CreateTest1213 start = time.clock()14 CreateTest.test_main()15 end = time.clock()1617print"接口自动化脚本运行时间:%.03f seconds" % (end - start)运行后自动生成当前时间的xml文件如下:分类: python。

相关文档
最新文档