Python程序批量校验统一社会信用代码的校验
参考了https://www.cods.org.cn/统一社会信用代码查询_诚信体系实名制查询_组织机构代码-全国组织机构统一社会信用代码数据服务中心(原全国组织机构代码管理中心)
程序是pyhon3的,
1.把统一码放在一个“wsheetofID.xlsx”的C列中
2.关闭excel文件,
3.启动python:
import os
import openpyxl as xl
def checklist():
#逐个检查是否不通过校验的号码
# print("输入待检查的清单(统一社会信用号码在第三列,合同号放第一列):")
#patha=input()
wb=xl.load_workbook(r'C:\Users\jinchongyi\Desktop\python编程文档\1.统一社会信用代码\合同清单\wsheetofID.xlsx') #打开Excel文件
sheet=wb.get_sheet_by_name("Sheet1")
n=0
for i in range(2,1488):
if tongyi(sheet.cell(row=i,column=3).value)==False:
print('contract no:',sheet.cell(row=i,column=1).value,'Tongyi ID:',sheet.cell(row=i,column=3).value)
n=n+1
print("total problem ID:", n)
def tongyi(a):
wi=[1,3,9,27,19,26,16,17,20,29,25,13,8,24,10,30,28]
zimu={'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, 'A': 10, 'B': 11, 'C': 12, 'D': 13, 'E': 14, 'F': 15, 'G': 16, 'H': 17, 'J': 18, 'K': 19, 'L': 20, 'M': 21, 'N': 22, 'P': 23, 'Q': 24, 'R': 25, 'T': 26, 'U': 27, 'W': 28, 'X': 29, 'Y': 30}
sumi=0
if len(a)!=18:#检查长度是否18位
print('the longen of ID is not 18')
return False
for i in range(len(a)-1): #检查是否所有字母都是符合规范的
if a[i] in zimu.keys():
sumi=sumi+zimu[a[i]]*wi[i]
else:
print('字母和数字超过允许范围')
return False
# print('sumi',sumi)
c18=31-sumi%31
if c18==31:
c18=0
if c18==zimu[a[17]]:
return True
else:
print("校验位应为:",c18,"实际为",zimu[a[17]])
return(c18==zimu[a[17]])
Python程序批量校验统一社会信用代码的校验相关推荐
- Python实现统一社会信用代码合法性校验
Python实现统一社会信用代码合法性校验 1 统一代码的构成 1.1 结构 统一代码由十八位的阿拉伯数字或大写英文字母(不使用I.O.Z.S.V)组成,包括第1位登记管理部门代码.第2位机构类别 ...
- 身份证号与统一社会信用代码的校验
身份证号与统一社会信用代码的表单校验 一.校验身份证号 <el-form ref="form" :model="form" :rules="ru ...
- JS校验统一社会信用代码的真实性
统一代码的构成 结构 代码及说明 统一社会信用代码来源字符与数值对应关系表 统一社会信用代码相应顺序上对应的加权因子 计算示例 js代码实现 统一社会信用代码:每一个法人和其他组织在全国范围内唯一的. ...
- java、正则表达式、php校验“统一社会信用代码”
java import java.util.HashMap; import java.util.Map; /** * Desc: 社会信用代码证 检验 * Created 2016/5/18. */ ...
- 计算统一社会信用代码的校验码(Lua)
输入 法人和其他组织统一社会信用代码的前16/17位 输出 检查登记管理部门代码(第1位)和机构类别代码(第2位)是否合法: 检查登记管理机关行政区划码(第3-8位)是否合法: 检查组织机构代码的本体 ...
- 前端校验统一社会信用代码
统一社会信用代码规则 由18位的阿拉伯数字或大写英文字母(不使用I.O.Z.S.V)组成: 第1位~第2位.第9位~第18位 [0-9A-HJ-NP-RT-UW-Y] 第3位~第8位,由阿拉伯数字表示 ...
- python md5加密和统一社会信用代码_统一社会信用代码校验位python实现
18位统一代码最后一位计算方法如下: ``` def unioncode_checknum(code): alpha_to_num_map={'A':10,'B':11,'C':12,'D':13,' ...
- 统一社会信用代码c#校验函数
以下代码主要用于校验社会统一信用代码的合法性 public static bool CheckSocialCreditCode(string code) {if (code?.Length != 18 ...
- Python实现统一社会信用代码校验(GB32100-2015)
Python实现统一社会信用代码校验 统一社会信用代码国标校验 统一社会信用代码国标校验规则 示例说明 Python代码实现(仅实现GB- 32100-2015中的规则) 统一社会信用代码国标校验 ...
- 全网唯一正确身份证和社统一社会信用代码自定义表单校验器(身份证校验和社统一社会信用代码校验)
话不多说,直入正题: 1.工具类: import * as moment from 'moment'; import {isUndefined} from 'util'; import {Abstra ...
最新文章
- liunx 下su 和sudo 的区别
- AtCoder Beginner Contest 096 题解
- php 如何缓存数据字典,使用PHP脚本如何导出MySQL数据字典
- LAMP-----3、配置apache实现与php的整合
- oracle导出数据库中表出现导出报错(EXP-00003)未找到段 (0,0) 的存储定义
- xp定时关机软件_好用又免费的电脑定时工具,不用得后悔
- 为什么“消费降级”突然火了?数字基尼系数给你一点理论支撑
- oracle 创建更新定时任务,oracle 创建定时任务
- js获取自定义属性的值
- SELECTION-SCREEN 加按钮
- Toon Boom Harmony 12 for Mac(二维动画设计工具)
- SqlServer中使用游标进行双重遍历
- linux线程的理解,linux线程与进程的理解
- Android 学习之逐帧动画(Frame)
- 递归算法经典实例python-浅谈Python 递归算法指归
- [lua]紫猫lua教程-命令宝典-L1-01-09. string字符串函数库
- [算法]发散思维能力题目
- 1823. 找出游戏的获胜者( 约瑟夫环问题 )
- LIMS实验室系统管理软件的国内外应用现状
- 确认过眼神,这就是亚信科技的核心能力