import openpyxl
from datetime import datetime,timedelta
import pandas as pd
import os, sys,re,shutil
tt = datetime.now().timetuple()
today = str(tt.tm_year)+'-'+str(tt.tm_mon)+'-'+str(tt.tm_mday)
print(today)
file_name = pd.read_excel("G:\\python\\szhk\\data-example.xlsx")
new_filename = file_name.to_excel("G:\\python\\szhk\\data-example" + '_'+today+".xlsx",index=False)
workbook = openpyxl.load_workbook("G:\\python\\szhk\\data-example" + '_'+today+".xlsx")
worksheet = workbook.worksheets[0]
print(worksheet)
now = (datetime.now() + timedelta(days=1))
print(now)
year = now.year
month = now.month
day = now.day
area = {"11": "北京", "12": "天津", "13": "河北", "14": "山西", "15": "內蒙古", "21": "遼寧", "22": "吉林", "23": "黑龍江",
"31": "上海", "32": "江蘇", "33": "浙江", "34": "安徽", "35": "福建", "36": "江西", "37": "山東", "41": "河南",
"42": "湖北", "43": "湖南", "44": "廣東", "45": "廣西", "46": "海南", "50": "重慶", "51": "四川", "52": "貴州",
"53": "雲南", "54": "西藏", "61": "陝西", "62": "甘肅", "63": "青海", "64": "寧夏", "65": "新疆", "71": "臺灣",
"81": "香港", "82": "澳門", "91": "國外"}
Errors = ['驗證通過!', '身份證號碼位數不對!', '身份證號碼出生日期超出範圍或含有非法字符!', '身份證號碼校驗錯誤!', '身份證地區非法!']
worksheet.insert_cols(16)
worksheet.insert_cols(17)
worksheet.insert_cols(18)
#獲取所有列名 並且判斷是否已經存在?
for index,row in enumerate(worksheet.rows):
if index == 0:
row[15].value = '歸屬地'
row[16].value = '性別'
row[17].value = '年齡'
else:
try:
province = row[9].value[0:2]
if province in area.keys():
row[15].value = area.get(province)
else:
row[15].value = Errors[3]
except ValueError:
pass
try:
birth_year = int(row[9].value[6:10])
birth_month = int(row[9].value[10:12])
birth_day = int(row[9].value[12:14])
if year == birth_year:
row[17].value = 0
else:
if birth_month > month or (birth_month == month and birth_day > day):
row[17].value=year - birth_year - 1
else:
row[17].value=year - birth_year
except ValueError:
pass
try:
if int(row[9].value[16:17]) % 2 == 0:
row[16].value = '女'
elif int(row[9].value[16:17]) % 2 == 1:
row[16].value = '男'
else:
row[16].value = 'other'
except ValueError:
pass
workbook.save("G:\\python\\szhk\\data-example" + '_' + today + ".xlsx")