# -*- coding: UTF-8 -*-
import datetime

class GetInformation(object):
    def __init__(self, id):
        self.id = id
        self.birth_year = int(self.id[6:10])
        self.birth_month = int(self.id[10:12])
        self.birth_day = int(self.id[12:14])

    def get_birthday(self):
        # 通过身份证号获取出生日期
        birthday = "{0}-{1}-{2}".format(self.birth_year, self.birth_month, self.birth_day)
        return birthday

    def get_sex(self):
        # 男生:1 女生:0
        num = int(self.id[16:17])
        if num % 2 == 0:
            return 0
        else:
            return 1

    def get_age(self):
        # 获取年龄
        now = (datetime.datetime.now() + datetime.timedelta(days=1))
        year = now.year
        month = now.month
        day = now.day

        if year == self.birth_year:
            return 0
        else:
            if self.birth_month > month or (self.birth_month == month and self.birth_day > day):
                return year - self.birth_year - 1
            else:
                return year - self.birth_year



from openpyxl import load_workbook

workbook = load_workbook('sfztq.xlsx')
sheet = workbook.active

import re
i=1
while i<=1762:
    cell_ai = sheet.cell(row=i,column=1)
    ai = str(cell_ai.value)
    id = re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])", "", ai)

    birthday = GetInformation(id).get_birthday()
    age = GetInformation(id).get_age()

    ci = sheet.cell(row=i,column=3)
    ci.value = age

    i+=1
workbook.save('sfztq.xlsx')

 

posted on 2020-05-04 21:03  nfcf  阅读(1223)  评论(0编辑  收藏  举报