1. excel中的case函数
if 、lookup 、vlookup、hlookup 等 查找函数 都类似 case 的语句效果……
2. CASE函数
case后面只接受整数。
函数有许多类型,有int,double,也有void,这些函数中只有返回值为整数的能被case接受。
但是,float函数可以在前面加上(int)进行强制转换,返回值变为整数后可以放在case后面。
至于void函数,大概没有什么办法接在case后面。
3. case语句属于什么函数
VB中Case是把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。在语句头上的表达式必须是有序类型(整型、字符型、布尔型等)。
值表是一些由逗号分开的常数,表达式所有可能的值必须在值表中出现,且每个值只能出现一次。扩展资料:
当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。
如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。
case语句必须是惟一性的表达式;不允许两个case具有相同的值..
4. excel case语句
、安装xlrd库
可以下载xlrd库包到本地安装,也可以通过pip命令安装,这里我选择pip命令:
pip install xlrd
二、使用xlrd读取excel数据
具体详细的操作可以参考xlrd库操作说明文档,以下是两种读取excel数据的方法:
1、根据Excel中sheet名称读取数据:
def readExcelDataByName(fileName, sheetName):
table = None
errorMsg = None
try:
data = xlrd.open_workbook(fileName)
table = data.sheet_by_name(sheetName)
except Exception, msg:
errorMsg = msg 9 return table, errorMsg
2、根据Excel中sheet的序号获取:
def readExcelDataByIndex(fileName, sheetIndex):
table = None
errorMsg = ""
try:
data = xlrd.open_workbook(fileName)
table = data.sheet_by_index(sheetIndex)
except Exception, msg:
errorMsg = msg
return table, errorMsg
3、根据列名获取相应序号,由于有时读取excel中列数据时,需要通过列头名称获取相应的列中的值,所以写了下面这个返回列名所在表格中的index。然后就可以直接通过table.cell_value(i, getColumnIndex(table,'列名'))获取列的值。
def getColumnIndex(table, columnName):
columnIndex = None 3
for i in range(table.ncols): 5
if(table.cell_value(0, i) == columnName):
columnIndex = i
break
return columnIndex
下面加入需要读取如下excel表格中的数据,在读取数据时直接根据列名去获取相应的值。
根据列名读取相应的值,代码如下:
#!/usr/bin/python
# coding=utf-8
__author__ = 'Paul'
import xlrd
import chardet
import traceback
def getColumnIndex(table, columnName):
columnIndex = None
#print table
for i in range(table.ncols):
#print columnName
#print table.cell_value(0, i)
if(table.cell_value(0, i) == columnName):
columnIndex = i
break
return columnIndex
def readExcelDataByName(fileName, sheetName):
#print fileName
table = None
errorMsg = ""
try:
data = xlrd.open_workbook(fileName)
table = data.sheet_by_name(sheetName)
except Exception, msg:
errorMsg = msg
return table, errorMsg
def readExcelDataByIndex(fileName, sheetIndex):
table = None
errorMsg = ""
try:
data = xlrd.open_workbook(fileName)
table = data.sheet_by_index(sheetIndex)
except Exception, msg:
errorMsg = msg
return table, errorMsg
if __name__ == '__main__':
#example
xlsfile= 'F:/test_AutoTesting/TestCase/RunList.xlsx'
table = readExcelDataByName(xlsfile, 'Sheet1')[0]
#获取第一行的值
testcase_id = table.cell_value(1, getColumnIndex(table,'TestCaseID'))
app_config = table.cell_value(1, getColumnIndex(table,'APPConfig'))
print u'测试用例ID为:%s'%(testcase_id)
print u'配置信息为:%s'%(app_config)
得出结果如下:
4、读取excel中的文本或数值转换成了float的问题
有时Excel中的值为20,但读取出来的值却变成了20.0,这与我们想要的不大一致,特别是做UI自动化测试过程中需要下拉选择值时就完全选不出想要的选项了。目前我想到的是通过下面的语句来处理:
if isinstance(inputValue,float): #判断读取到的值是否为float
if inputValue==int(inputValue): #判断读取到的值与转成int后的值是否相等,如果相等则转成int
inputValue = int(inputValue)
inputValue = str(inputValue) #转成s
5. case函数是什么意思
c语言中case的用法如下:
“case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此case子句执行下去,不在进行判断,直到碰到break或函数结束为止。”
使用switch语句直接处理多个分支(当然包括两个分支).
6. excel case
将这些Excel文件放到一个文件夹(只有这些Excel文件,且若打开某一文件,数据就能看见——即不用点其他sheet),建一新Excel,也存到该文件夹。仅打开该新Excel,按Alt+F11,左边窗口右键点,插入模块,在右边窗口粘贴如下代码: Sub Find() Application.ScreenUpdating = False Dim MyDir As String MyDir = ThisWorkbook.Path & "\" ChDrive Left(MyDir, 1) 'find all the excel files ChDir MyDir Match = Dir$("") Do If Not LCase(Match) = LCase(ThisWorkbook.Name) Then Workbooks.Open Match, 0 'open ActiveSheet.Copy Before:=ThisWorkbook.Sheets(1) 'copy sheet Windows(Match).Activate ActiveWindow.Close Match = Dir$ End If Loop Until Len(Match) = 0 Application.ScreenUpdating = True End Sub 按F5运行此宏,这许文件copy在一个文件里了。然后再怎么合并,请指示 :)
- 相关评论
- 我要评论
-