首页 > 其他分享 >读excel 并拿数据

读excel 并拿数据

时间:2023-07-28 14:26:59浏览次数:28  
标签:index name xls data excel test 数据 col


# 导包
import xlrd

def get_excel_data(file_path,sheet_name,case_name,*args):
# 定义一个列表 存[(第下标1行里 test列里的值,test1列里的值),(第下标1行里 test列里的值,test1列里的值)]
xls_data = []
# 第一步 根据包提供的方法 读某个路径下的xls

workbook = xlrd.open_workbook(file_path)
# 第二步 根据名字找某个表 每个excel里有Sheet1 Sheet2 等
worksheet = workbook.sheet_by_name(sheet_name)
# -------------------------为第三步做准备,
# 行号: [列号,列号]
# {1: [4, 5], 2: [4, 5]}


# 1.打印 标题 也就是下标0 的全部的行
# 2.打印 编号 也就是下标0 的全部的列
title = worksheet.row_values(0)
case_name_all = worksheet.col_values(0)

# 3.-------------------------为第三步做准备 {1: [4, 5], 2: [4, 5]}
dict_index = {} # 行号: [列号,列号]
for one in case_name_all:
if case_name in one:
row_index = case_name_all.index(one)
print(f'行下标:{row_index}')
cols = []
for arg in args: # ['test','test2']
col_index = title.index(arg)
cols.append(col_index)
print(f'列下标:{col_index}')
dict_index[row_index]=cols
print(f"打印行和列的列表:{dict_index}") # 打印行和列的字典
# 3.-------------------------实现了

# 第三步 根据行和列的下标 获得单元格内的值 ['111-1', '222-1', '111-2', '222-2']


xls_data = []
for row_index,col_index in dict_index.items() :
list_value=[]
for col in col_index:
value = worksheet.cell_value(row_index, col)
print(value)
list_value.append(value)
xls_data.append(tuple(list_value)) #[('111-1', '222-1'), ('111-2', '222-2')]
return xls_data
if __name__ == '__main__':
file_path_test = '../data/testcase.xls'
sheet_name_test='Sheet1'
case_name_test='login'
xls_data=get_excel_data(file_path_test,sheet_name_test,case_name_test,*['test','test2'])
print(xls_data)




标签:index,name,xls,data,excel,test,数据,col
From: https://www.cnblogs.com/haha1988/p/17587453.html

相关文章

  • 写一条mysql更新数据的语句
    要更新MySQL数据库中的数据,你可以使用UPDATE语句。下面是一个示例代码,用于更新数据库中的数据:importmysql.connectordefupdate_data(connection,table,column,value,condition):cursor=connection.cursor()#构造更新数据的SQL语句update_query=f"UP......
  • 数据结构中队列的存储和应用
    队列:只有两个口进出数据,一个专门进入数据,另一个专门出数据,先进先出,FIFO表 一、顺序队列:存储元素的连续内存的首地址容量队头位置(出队)队尾位置(入队)[元素数量]运算:创建、销毁、清空、出队、入队、队空、队满、队头、队尾、元素数量#inclu......
  • Unity实现camera数据注入RMP推送或轻量级RTSP服务模块
    技术背景随着技术的不断进步和应用的不断深化,Unity3DVR应用的前景非常广阔,它广泛应用于教育、医疗、军事、工业设计、虚拟数字人等多个领域。教育领域:Unity3DVR技术可以用来创建虚拟现实教室,让学生能够身临其境地体验课程内容,提高学习效果和兴趣;医疗领域:Unity3DVR技术可以用来创......
  • 数据类型
           ......
  • 升级之后历史数据相关测试
    1、手动测试,一般不会动历史数据。2、selenium或其他自动化测试,为了自动化的稳定性或其他考虑,会truncate表,删除历史数据。这样升级之后没法验证升级对于系统的影响。如果是未上线系统那影响较小,但是这一块的考虑可能会有所欠缺,需要加强......
  • 爬虫 | 美食数据抓取
    本实验将为大家介绍接口爬取的相关知识,通过实验楼课程列表页与IT之家动态页,讲解如何通过开发者工具快速判断数据来源。实验过程将通过爬取美食网、实验楼社区两个案例,说明如何针对接口编写爬虫。知识点接口(API)爬取知识美食案例实操实验楼社区案例实操接口(API)爬取知识......
  • oracle数据库中的%type 及%rowtype
    1%TYPE说明为了使一个变量的数据类型与另一个已经定义了的变量(尤其是表的某一列)的数据类型相一致,Oracle提供了%TYPE定义方式。当被参照的那个变量的数据类型改变了之后,这个新定义的变量的数据类型会自动跟随其改变,容易保持一致,也不用修改PL/SQL程序了。当不能确切地知道被参照的......
  • 读excel
    #导包importxlrd#第一步根据包提供的方法读某个路径下的xlsworkbook=xlrd.open_workbook('../data/testcase.xls')#第二步根据名字找某个表每个excel里有Sheet1Sheet2等worksheet=workbook.sheet_by_name('Sheet1')print(worksheet)#Sheet0:<Sheet1......
  • 电子商务平台市场动向的数据分析平台:阿里商品指数,包括淘宝采购指数,淘宝供应指数,1688供
    电子商务平台市场动向的数据分析平台:阿里商品指数,包括淘宝采购指数,淘宝供应指数,1688供应指数。1.项目介绍1、阿里指数是了解电子商务平台市场动向的数据分析平台,2012年11月26日,阿里指数正式上线。根据阿里巴巴网站每日运营的基本数据包括每天网站浏览量、每天浏览的人次、每天......
  • 关于python中对np.array数据进行元素操作的讨论(形参与实参)
    最近发现了python中,如果将np.array(ndarray)类型的数据作为实参,传递给形参时,实参和形参会同时改变。例如下面的代码:importnumpyasnpnum=np.array([[1,2],[3,4]])deftest(a):a[0,1]=9print(a)test(num)print(num)输出结果:[[19][34]][[19][34]]会发......