#全國黨員管理信息系統-黨員信息管理-綜合查詢-導出excle-運行該程序選擇導出文件即可檢測
import os
import xlrd
import win32ui
import docx
from docx.oxml.ns import qn
def wanzhengxing():
global w_num
if '' == x or '' ==d or '' ==h or '' ==z or '' ==edu or '' ==address or '' ==job:
file.add_paragraph(a+' '+zb+' 基本信息不完善!')
w_num=w_num+1
if ''== x or '' ==d or '' ==h:
print(zb+'的:'+a+' 同志缺乏重要信息,請完善!')
return 2
def xingbie():
global w_num
xb=int(b[-2])%2
if (xb==0 and x=='女') or (xb==1 and x=='男'):
pass
else:
file.add_paragraph(a+' '+'性別錯誤!'+b+' '+x+' '+zb)
w_num=w_num+1
def jiegou():
global w_num
xx=(int(b[0])*7+int(b[1])*9+int(b[2])*10+int(b[3])*5+int(b[4])*8+int(b[5])*4+
int(b[6])*2+int(b[7])*1+int(b[8])*6+int(b[9])*3+int(b[10])*7+int(b[11])*9+
int(b[12])*10+int(b[13])*5+int(b[14])*8+int(b[15])*4+int(b[16])*2)
y=int(xx)%11
if (y>=3 and str(12-int(y))==b[17]) or (y<2 and str(1-int(y))==b[17]) or (y==2 and b[17]=='X'):
pass
else:
file.add_paragraph(a+'身份證構造有誤!'+b+' '+'聯繫方式:'+z+' '+zb)
w_num=w_num+1
def shengri():
global w_num
if int(b[6:14])==int(d[:4]+d[5:7]+d[8:10]):
pass
else:
file.add_paragraph(a+'身份證出生時間可能有誤!'+b+' '+d[:10]+' '+'聯繫方式:'+z+' '+zb)
w_num=w_num+1
def chengnian():
global w_num
if int(d[:4]+d[5:7]+d[8:10])+180000>=int(f[:4]+f[5:7]+f[8:10]):
file.add_paragraph(a+'未滿十八歲入黨'+' '+d[:10]+' '+f[:10]+' '+'聯繫方式:'+z+' '+zb)
w_num=w_num+1
else:
pass
def rudang():
global w_num
rd_time=int(f[:4]+f[5:7]+f[8:10])
zz_time=int(g[:4]+g[5:7]+g[8:10])
if rd_time<=19560914 and (zz_time==rd_time+600 or zz_time==rd_time+10000 or zz_time==rd_time+20000 or zz_time==rd_time+10000-600):
return 0
elif rd_time>=19560915 and rd_time<=19690331 and zz_time==rd_time+10000:
return 0
elif rd_time>=19690401 and rd_time<=19770811 and rd_time==zz_time:
return 0
if rd_time>=19770812 and zz_time==rd_time+10000:
return 0
else:
file.add_paragraph(a+' '+'入黨轉正時間有誤'+' '+f[:10]+' '+g[:10]+' '+zb)
w_num=w_num+1
pwd = os.getcwd()
d=win32ui.CreateFileDialog(1)
d.SetOFNInitialDir(pwd)
d.DoModal()
files=d.GetPathName()
w_num=0
if 'xls' in files:
file=docx.Document()
file.styles['Normal'].font.name = u'宋體'
file.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')
print(files)
file.add_paragraph(files)
workbook=xlrd.open_workbook(files)
sheet=workbook.sheet_by_index(0)
n_of_rows=sheet.nrows
for i in range(1,n_of_rows):
#姓名
a=sheet.cell(i,0).value
#身份證號碼
b=sheet.cell(i,1).value
#性別
x=sheet.cell(i,2).value
#出生時間
d=sheet.cell(i,3).value
#學歷
edu=sheet.cell(i,7).value
#入黨時間
f=sheet.cell(i,11).value
#入黨時間
g=sheet.cell(i,12).value
#工作崗位
job=sheet.cell(i,13).value
#人員類別
h=sheet.cell(i,16).value
#電話
z=sheet.cell(i,18).value
#支部名稱
zb=sheet.cell(i,20).value
#家庭地址
address=sheet.cell(i,24).value
if wanzhengxing()==2:
continue
jiegou()
xingbie()
shengri()
chengnian()
if h=='預備黨員':
continue
rudang()
file.add_paragraph('共檢測出問題數爲:'+str(w_num))
file.save(pwd+r'\本次檢測反饋結果.doc')
print('處理結束,反饋文件已在當前目錄下生成!共檢出問題',w_num,'個!')
else:
print('請選擇黨員信息彙總報告表!')
input('按任意鍵關閉......')
PS:看到自己之前寫的代碼想抽自己大耳巴子......