Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
if 语句用于控制程序的执行,基本形式为:
if
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
日常工作中用到“==”的情况比较多,我把这个“==”称为精确匹配。有精确匹配也就有模糊匹配:startwith的方法,或者 in的方法。
数据源如下:
注:
还有类似的问题2、问题3、问题4
日常需求背景:
1、需要将D3 - D7单元格内容更换成A - E。
2、单元格更换为A - E 后,进行批注。批注内容为原先单元格“A:”后的文字。
eg:D3单元格批注为:“有认真思需要做哪些工作,能结合上级的意见自我调整”
3、每两周定时需要。
写法1:
方法为IF (“==”)精确匹配的方法:
def tran_one(x):
if x =='A:有认真思需要做哪些工作,能结合上级的意见自我调整':
x = 'A'
elif x == 'B:思考的不多,但能接受上级的意见,按照培训中给的一些方法提高能力':
x = 'B'
return x
data['1.是否能积极思考,主动提高自己?'] = data['1.是否能积极思考,主动提高自己?'].apply(tran_one)
写法2:
用startswith()方法,因为评分的字符在字符串的第一位。
如果评分的字符在字符串的最后一位,可以用endswith()方法。
def tran_one(x):
if x.startswith('A'):
x = 'A'
return x
data['1.是否能积极思考,主动提高自己?'] = data['1.是否能积极思考,主动提高自己?'].apply(tran_one)
data['2.对用户的态度怎么样?'] = data['2.对用户的态度怎么样?'].apply(tran_one)
写法3:
方法为IF (“in”)模糊匹配的方法:
def tran_one(x):
if 'A' in x:
x = 'A'
elif 'B' in x:
x = 'B'
elif 'C' in x:
x = 'C'
elif 'D' in x:
x ='D'
elif 'E' in x:
x = 'E'
return x
data['1.是否能积极思考,主动提高自己?'] = data['1.是否能积极思考,主动提高自己?'].apply(tran_one)
data['2.对用户的态度怎么样?'] = data['2.对用户的态度怎么样?'].apply(tran_one)
总结:
1、写法2、3更加优于写法1,因为写完一个函数方法,不用重复把每一个问题里面的A、B、C、D,用”==“写一遍。有几个问题,就套用一遍就行。
Python:startswith()、endswith()方法:
一、startswith()方法语法:
- string.startswith(str, beg=0,end=len(string));
参数:
- str -- 检测的字符串。
- strbeg -- 可选参数用于设置字符串检测的起始位置(可选,从左数起)。
- strend -- 可选参数用于设置字符串检测的结束位置(可选,从左数起)。
返回值:
如果检测到字符串则返回True,否则返回False。
二、endswith()方法语法:
- string.endswith(str, beg=[0,end=len(string)]);
参数:
- str -- 检测的字符串。
- beg -- 可选参数用于设置字符串检测的起始位置(可选,从左数起)。
- end -- 可选参数用于设置字符串检测的起始位置(可选,从左数起)。
返回值:
如果检测到字符串则返回True,否则返回False。