首页 > 其他分享 >openpyxl模块---------------------------------------------提取身份证信息及计算年龄

openpyxl模块---------------------------------------------提取身份证信息及计算年龄

时间:2024-01-13 22:15:04浏览次数:27  
标签:openpyxl month cell pno sh --------------------------------------------- 模块 year

 

上代码:

from openpyxl import load_workbook
from datetime import datetime
def create_time():
now_year = datetime.now().year
wb = load_workbook('C:/Users/admin/Desktop/11.xlsx')
sh = wb.active
max_column = sh.max_column
for i,cell in enumerate(sh['B']):
pno = cell.value
# print(pno)
##身份证的特点: #6位行政划分 4位年 2位月 2位日 4位个人编码
year = pno[6:10]
month = pno[10:12]
day = pno[12:14]
print(f'year:{year} month:{month} day:{day}')
age = now_year - int(year)
sh.cell(i + 1,max_column + 1).value = year
sh.cell(i + 1, max_column + 2).value = month
sh.cell(i + 1, max_column + 3).value = day
sh.cell(i + 1, max_column + 4).value = age
wb.save('C:/Users/admin/Desktop/time.xlsx')
if __name__ == "__main__":
create_time()

实现效果;

D:\softfiles\Python3.8解释器\python.exe C:/Users/admin/PycharmProjects/pythonProject/提取身份证信息.py
year:1989 month:12 day:17
year:1996 month:08 day:06
year:1998 month:05 day:27
year:1965 month:11 day:28
year:1976 month:11 day:14
year:1992 month:02 day:17
year:1956 month:10 day:13

Process finished with exit code 0

 坑:data表格中有空格导致,即有空值导致

Traceback (most recent call last):
File "C:/Users/admin/PycharmProjects/pythonProject/提取身份证信息.py", line 23, in <module>
create_time()
File "C:/Users/admin/PycharmProjects/pythonProject/提取身份证信息.py", line 12, in create_time
year = pno[6:10]
TypeError: 'NoneType' object is not subscriptable

Process finished with exit code 1

使用11.xlsx数据就可以了

标签:openpyxl,month,cell,pno,sh,---------------------------------------------,模块,year
From: https://www.cnblogs.com/cherishthepresent/p/17963061

相关文章

  • 初中英语优秀范文100篇-057My Favourite Story-我最喜欢的故事
    初中英语优秀范文100篇-057MyFavouriteStory-我最喜欢的故事PDF格式公众号回复关键字:SHCZFW057记忆树1MyfavoritestoryisTheNightoftheHorse.翻译我最喜欢的故事是《马之夜》简化记忆故事句子结构主语:Myfavoritestory主语是一个名词短语,由形容词"fav......
  • CF-613-D
    613-D题目大意给定一颗\(n\)个节点的树。\(q\)组询问,每组询问给定\(k\)个点,问至少要删除树中多少个点才能使这\(k\)个点两两不连通,无解则输出\(-1\)。这里\(\sum{k_i}\)的规模大致和\(n\)相当。Solution虚树模板题。暴力的做法是每组询问都对整棵树进行遍树形DP,复杂度为\(......
  • CF1201C - Maximum Median
    思路二分答案。对于一个mid,查询中位数要是为mid的话至少要做多少次操作,最小操作次数就是排序后从中位数开始计算max(0,mid-v[i])的和ac代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;consti64inf=8e18;typedefpair<int,int>pii;cons......
  • P5321 [BJOI2019] 送别 题解--zhengjun
    由于大家的做法需要大量分类讨论和代码量,这里提供一种不怎么分类的,容易实现的做法。首先,由于墙体会随时变化,所以直接对墙体本身维护不是很方便。我们可以牺牲一点常数,对\((i,j)\)建立四个点\(UL_{i,j},UR_{i,j},DL_{i,j},DR_{i,j}\)分别表示\((i-\varepsilon,j-\varepsilo......
  • 无涯教程-LISP - 条件判断
    以下是大多数编程语言中常见的典型决策结构的一般形式-LISP提供以下类型的决策构造,单击以下链接以查看其详细信息。Sr.No.Construct&描述1cond此构造用于检查多个判断操作子句。2ifif构造具有多种形式。3when如果test子句的判断输出为true,则执行test操作,否则,对后......
  • python-爬元气桌面壁纸
    一、利用xpath来抓取图片url地址是:唯美壁纸-唯美手机壁纸-唯美手机动态壁纸-元气壁纸(cheetahfun.com)数据解析方式xpath二、分析在浏览器中打开网页链接后,F12找到元素,可以看到图片的的内容可以在源代码中找到,分析发现,每一个图片分别对应着一个li的标签【在<licla......
  • IDEA项目名称后面出现中括号,模块Modules的名子和文件夹名称不同,可以右键修改名称也可
    IDEA项目名称后面出现中括号,Modules的名子和文件夹名称不同,可以右键修改名称也可以在File->ProjectStructure修改Modules的Name(快捷键ctrl+Shift+Alt+s)Project中出现中括号如:原因:Modules的名子和文件夹名称不同解决主要是通过修改名称一致就可以可以右键修改名称也可......
  • 无涯教程-LISP - 运算符
    运算符是一个符号,告诉编译器执行特定的数学或逻辑操作。LISP允许对数据进行大量操作,并由各种函数,宏和其他构造支持。允许对数据进行的操作可以归类为-算术运算比较操作逻辑运算按位运行算术运算下表显示了LISP支持的所有算术运算符。假设变量A=10,变量B=20,然后-运算符......
  • Center-based 3D Object Detection and Tracking
    zotero-key:A37ALEJ3zt-attachments:-"280"title:Center-based3DObjectDetectionandTrackingcitekey:yinCenterbased3DObject2021tags:-paperCenter-based3DObjectDetectionandTrackingZoteroAbstractThree-dimensionalobjectsare......
  • 网络攻击技术(二)——Cross-site scripting
    网络攻击技术(二)——Cross-sitescripting 1.1.1摘要     在本系列的第一篇博文中,我向大家介绍了SQLInjection常用的攻击和防范的技术。这个漏洞可以导致一些非常严重的后果,但幸运的是我们可以通过限制用户数据库的权限、使用参数化的SQL语句或使用ORM等技术来防范......