概述
获得imei第15位检验码
def getimei(imei):
if len(imei) == 14:
imeiChar = imei
sum1=0
sum2=0
for i in range(len(imeiChar)):
i = int(i)
if i%2!=0:
a=int(imeiChar[i])*2
if len(str(a))>1:
a = str(a)
temp=0
for i1 in range(len(a)):
temp += int(a[i1])
sum1 += temp
else:
sum1 += int(a)
i += 1
elif i%2==0:
b = int(imeiChar[i])
sum2 +=b
i += 1
sum = sum1+sum2
#print('sum------',sum)
sum = str(sum)
for i in range(len(sum)):
if i%2!=0:
if sum[1]=='0':
b=0
#print('校验码是:',b)
#imei=imei+str(b)
#print(imei)
elif sum[1] !='0':
b=10-int(sum[1])
#print('校验码是:', b)
#imei=imei+str(b)
#print(imei)
return b
文件中,格式为:11位数电话号码,imei码(有14位,也有15,也有16)
现在需要算出15位的imei验证码,并且将所有imei码全部清洗为15位数
out = open(u'update-imei15-1.txt', 'w')
with open("20200810_update.csv","r") as f:
#with open("t.txt","r") as f:
for line in f:
data = line.split(",")
try:
if len(data[0])==11 and len(data[1])==14:
data[1]=data[1][:14]+str(getimei(data[1][:14]))
elif len(data[0])==11 and len(data[1])>=15:
if data[1][14]!=getimei(data[1][:14]):
data[1]=data[1][:14]+str(getimei(data[1][:14]))
else:
continue
#print(data[0]+','+data[1])
out.writelines(data[0]+','+data[1]+'n')
except:
pass
最后
以上就是寂寞口红为你收集整理的imei验证码计算+清洗数据的全部内容,希望文章能够帮你解决imei验证码计算+清洗数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复