代码为python 3.4版本
#字母的数字的相互转换
#ord:字母转数字
ord('A')
#chr:数字转字母
chr(65)
#python 的三元表达式的用法
#给定数字1或0 转为是与否
k = '1'
d = '是' if int(k) else '否'
#python lambda表达式
lambda表达式可以很方便的用来代替简单函数
#float转str 去掉末尾的'.0'
>>> func = lambda x:str(x) if int(str(x).split('.')[1]) else str(x).split('.')[0]
>>> func(2.0)
相当于
def func(x):
if int(str(x).split('.')[1]):
x = str(x)
else:
x = str(x).split('.')[0]
return x
print (func(2.0))
#python 列表推导式
#二维元组转列表
a = (
('魏登武', 18912347226.0, '农商行',0.0, 4.0, 0.0, 11820.0, 0.0, 0.0, 11560.0, 0.0, '0', '0.08', '70', '0', '张明锋'),
('魏德华', 18712345620.0, None,0.0, 3.0, 10000.0, 5000.0, 4000.0, 0.0, 0.0, 0.0, None, '0.05', '70', '1', '贺世海')
)
b = [list(i) for i in a]
print (b)
#列表推导式嵌套
#二维元组转列表
#win32com操作excel--->sheet.Range().value得到 a 这样的元组
#sheet.Range(sheet.Cells(row1, col1), sheet.Cells(row2, col2)).Value
a = (
('魏登武', 18912347226.0, '农商行',0.0, 4.0, 0.0, 11820.0, 0.0, 0.0, 11560.0, 0.0, '0', '0.08', '70', '0', '张世锋'),
('魏德华', 18712345620.0, None,0.0, 3.0, 10000.0, 5000.0, 4000.0, 0.0, 0.0, 0.0, None, '0.05', '70', '1', '贺明海')
)
b = [list(i) for i in a]#元组转列表
def func(i):
if i == None:
i = ''
elif type(i) == float:
i = str(i).split('.')[0] if str(i).split('.')[1] == '0' else str(i)
return i
#列表推导式嵌套
c = [[func(j) for j in i] for i in b]#替换二维列表里的None和float转str并去掉小数为0 的 ‘.0’
print (c)
#ord:字母转数字
ord('A')
#chr:数字转字母chr(65)
#json与列表的相互转换
dumps#
json.dumps(k)->json
k = '123'
json.loads(k)->列表
#正确获取当前的路径:
print (os.path.dirname(os.path.realpath(__file__)))
#win32com操作excel中
#获取最大行数
#n = sheet.UsedRange.Rows.Count
xpath常用定位
starts-with 顾名思义,匹配一个属性开始位置的关键字
contains 匹配一个属性值中包含的字符串
text() 匹配的是显示文本信息,此处也可以用来做定位用
eg
//input[starts-with(@name,'name1')] 查找name属性中开始位置包含'name1'关键字的页面元素
//input[contains(@name,'na')] 查找name属性中包含na关键字的页面元素
<a href="http://www.baidu.com">百度搜索</a>
xpath写法为 //a[text()='百度搜索']
或者 //a[contains(text(),"百度搜索")]