123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073 |
- import bdb
- from ctypes.wintypes import LONG
- import os
- import tkinter as tk
- from tkinter import N, filedialog as tkFileDialog
- from tkinter import messagebox
- from xmlrpc.client import NOT_WELLFORMED_ERROR
- import docx
- import shapefile
- import xlrd
- from docx.oxml.ns import qn
- from docx.shared import Pt
- from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
- import math
- import random
- from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
- from copy import deepcopy
-
-
-
- def start():
- #region [add]
- # docpath1 = r'D:\01yyj\林权模板最终版\林权调查表模板1.docx'
- docpath1 = r'D:\2022林权\红庙村YYJ\林权模板最终版\林权调查表模板1.docx'
- docpath2 = r'D:\2022林权\红庙村YYJ\林权模板最终版\林权调查表模板2.docx'
- docpath3 = r'D:\2022林权\红庙村YYJ\林权模板最终版\林权调查表模板3.docx'
- docpath4 = r'D:\2022林权\红庙村YYJ\林权模板最终版\林权调查表模板4.docx'
- shppath = r'D:\2022林权\三四组\宗地图斑\元坝镇中梁村三四组(原中梁村四五组)宗地合并.shp'
- hjpath = r'D:\20221112LQ\20221123\元坝镇中梁村三四组(原四五组)1123\元坝镇中梁村三四组户籍表.xls'
- jtcypath = r'D:\20221112LQ\20221123\元坝镇中梁村三四组(原四五组)1123\元坝镇中梁村三四组家庭成员信息表.xls'
- tfpath = r'D:\20221112LQ\20221123\TF.txt'
- jzdpath = r'D:\2022林权\三四组\JZD.shp'
- outpath = r'D:\20221112LQ\20221123\Result'
- szpath = r'D:\20221112LQ\20221123\LZD_gc.txt'
- pcpath = r'D:\20221112LQ\20221123\JZpointCount.txt'
- szdpath = r'D:\20221112LQ\20221123\SZpoint.txt'
- #endregion
-
- #region [读取]
- # 读取
- doc1 = docx.Document(docpath1)
- doc2 = docx.Document(docpath2)
- doc3 = docx.Document(docpath3)
- doc4 = docx.Document(docpath4)
- # 读取shpfile,保存成list方便使用
- try:
- shpfile = shapefile.Reader(shppath)
- except:
- shpfile = shapefile.Reader(shppath, encoding="gbk")
- # 读取jzdpath,保存成list方便使用
- try:
- jzdfile = shapefile.Reader(jzdpath)
- except:
- jzdfile = shapefile.Reader(jzdpath, encoding="gbk")
- shplist = shpfile.records()
- jzdlist = jzdfile.records()
- # 读取户籍
- hjfile = xlrd.open_workbook(hjpath)
- hjt = hjfile.sheets()[0]
- # 读取成员
- jtcyfile = xlrd.open_workbook(jtcypath)
- jtcyt = jtcyfile.sheets()[0]
- #读取图幅
- tflist = []
- with open(tfpath, 'r') as tff:
- for tfl in tff:
- szzd2 = tfl.split(':', -1)[0]
- tf = tfl.split(':', -1)[1]
- tfhlist = []
- tfhlist.append(szzd2)
- tfhlist.append(tf)
- tflist.append(tfhlist)
- #邻宗地
- szlist = []
- with open(szpath, 'r') as szf:
- for szl in szf:
- szzd1 = szl.split(':', -1)[0]
- # str3 = szl.split(':', -1)[1]
- szplist = []
- szplist.append(szzd1)
- #排除最后一个是换行符
- # szplist.append(str3.split(";",-1))
- szplist.append(szl.split(";",-1))
- szlist.append(szplist)
- #总点数
- # # 读取界址点数txt,转化为list
- pclist = []
- with open(pcpath, 'r') as pcf:
- for pcl in pcf:
- szzd1 = pcl.split(':', -1)[0]
- # str3 = szl.split(':', -1)[1]
- pcplist = []
- pcplist.append(szzd1)
- str11 = pcl.split(':', -1)[1]
- try:
- pc = int(str11.replace('\n',''))
- except:
- pc = 0
- print('pclist Error')
- pcplist.append(pc)
- pclist.append(pcplist)
- #读取四至点位
- szdlist = []
- with open(szdpath, 'r') as szdf:
- for szdl in szdf:
- szzd1 = szdl.split(':', -1)[0]
- # str3 = szl.split(':', -1)[1]
- szsdlist = []
- szsdlist.append(szzd1)
- str11 = szdl.split(':', -1)[1]
- szd1 = str11.split(',',-1)[0]
- szd2 = str11.split(',',-1)[1]
- szd3 = str11.split(',',-1)[2]
- szds = str11.split(',',-1)[3]
- szd4 = szds.replace('\n','')
- szsdlist.append(szd1)
- szsdlist.append(szd2)
- szsdlist.append(szd3)
- szsdlist.append(szd4)
- szdlist.append(szsdlist)
- #endregion
- ii = 0
- #家庭成员是list4
- #邻宗地信息是list6
- #邻宗地人员信息是list10
- kk3 = 0
- dw1 = ''
- dg = ''
- skk3 = 0
- while ii < len(shplist):
- #region [关键词]
- list1 = shplist[ii]
- #宗地编号
- zdh = list1['宗地编号']
- #户编码
- hbm = list1["户编号"]
- #权利人
- qlr = list1['权利人']
- # 组合成名字
- docname = zdh + '-' + qlr + '林权调查表.docx'
- out_docpath = outpath + '/' + docname
- #endregion
- if os.path.exists(out_docpath):
- print(zdh + ' exists')
- else:
- #region [数据]
- # try:
- # 四至
- shp_szb = list1['四至北']
- shp_szd = list1['四至东']
- shp_szn = list1['四至南']
- shp_szx = list1['四至西']
- #总点数
- zz = 0
- pcount =0
- while zz < len(pclist):
- if pclist[zz][0] == zdh:
- pcount = pclist[zz][1]
- break
- else:
- zz = zz + 1
- #先把有判断因素的东西弄出来
- # 联动对应家庭成员表(户编码)
- mm2 = 0
- list4 = []
- while mm2 < jtcyt.nrows:
- str1 = jtcyt.cell(mm2, 0).value
- if str1 == hbm:
- # 先把个人信息存入list
- slist = []
- nn2 = 0
- while nn2 < 5:
- slist.append(jtcyt.cell(mm2, nn2).value)
- nn2 = nn2 + 1
- # 保证第一个是权利人
- if jtcyt.cell(mm2, 2).value == qlr:
- list4.insert(0, slist)
- else:
- list4.append(slist)
- mm2 = mm2 + 1
- #家庭成员人数
- cys = len(list4)
- #邻宗地
- # 联动读取四至
- mm4 = 0
- list6 = []
- while mm4 < len(szlist):
- zddm3 = szlist[mm4][0]
- if zddm3 == zdh:
- nn4 = 0
- szlist1 = szlist[mm4][1]
- while nn4 < len(szlist1) - 1:
- if nn4 == 0:
- lzdstr = szlist1[0].split(':',-1)[1]
- lzdname = lzdstr.split(',',-1)[0]
- else:
- lzdname = szlist1[nn4].split(',',-1)[0]
- if 'JE' in lzdname:
- #匹配找到对应人的身份信息
- nn5 = 0
- while nn5 < hjt.nrows:
- str4 = hjt.cell(nn5, 14).value
- if str4== lzdname:
- try:
- lzdqrl = hjt.cell(nn5, 3).value
- except:
- lzdqrl = hjt.cell(nn5, 3)
- lzdstr1 = lzdqrl + '(' + lzdname + ')'
- slist6 = []
- slist6.append(lzdstr1)
- #整个排下序
- num0 = szlist1[nn4].split(',',-1)[1]
- num1 = szlist1[nn4].split(',',-1)[2]
- xhnum = int(num0.replace('J',''))
- slist6.append(num0)
- slist6.append(num1)
- slist6.append(lzdname)
- slist6.append(xhnum)
- list6.append(slist6)
- break
- else:
- nn5 = nn5 + 1
- if 'LAKE' in lzdname:
- slist6 = []
- slist6.append('乔木林地')
- # sznum= -1
- num0 = szlist1[nn4].split(',',-1)[1]
- num1 = szlist1[nn4].split(',',-1)[2]
- xhnum = int(num0.replace('J',''))
- slist6.append(num0)
- slist6.append(num1)
- slist6.append('')
- slist6.append(xhnum)
- # slist6.append(sznum)
- list6.append(slist6)
- if 'SZB' in lzdname:
- slist6 = []
- if 'JE' in shp_szb:
- pass
- else:
- slist6.append(shp_szb)
- num0 = szlist1[nn4].split(',',-1)[1]
- num1 = szlist1[nn4].split(',',-1)[2]
- xhnum = int(num0.replace('J',''))
- slist6.append(num0)
- slist6.append(num1)
- slist6.append('')
- slist6.append(xhnum)
- list6.append(slist6)
- if 'SZD' in lzdname:
- slist6 = []
- if 'JE' in shp_szd:
- pass
- else:
- slist6.append(shp_szd)
- sznum = 0
- num0 = szlist1[nn4].split(',',-1)[1]
- num1 = szlist1[nn4].split(',',-1)[2]
- xhnum = int(num0.replace('J',''))
- slist6.append(num0)
- slist6.append(num1)
- slist6.append('')
- slist6.append(xhnum)
- list6.append(slist6)
- if 'SZN' in lzdname:
- slist6 = []
- if 'JE' in shp_szn:
- pass
- else:
- slist6.append(shp_szn)
- sznum = 0
- num0 = szlist1[nn4].split(',',-1)[1]
- num1 = szlist1[nn4].split(',',-1)[2]
- xhnum = int(num0.replace('J',''))
- slist6.append(num0)
- slist6.append(num1)
- slist6.append('')
- slist6.append(xhnum)
- list6.append(slist6)
- if 'SZX' in lzdname:
- slist6 = []
- if 'JE' in shp_szx:
- pass
- else:
- slist6.append(shp_szx)
- sznum = 0
- num0 = szlist1[nn4].split(',',-1)[1]
- num1 = szlist1[nn4].split(',',-1)[2]
- xhnum = int(num0.replace('J',''))
- slist6.append(num0)
- slist6.append(num1)
- slist6.append('')
- slist6.append(xhnum)
- list6.append(slist6)
- nn4 = nn4 + 1
- break
- else:
- mm4 = mm4 + 1
- list6.sort(key=takesixth)
- list61 = []
- list61 = chsf(list6,pcount)
- list6 = []
- if len(list61) == 1:
- slist6 = []
- slist6.append(list61[0][0])
- slist6.append('J1')
- slist6.append('J' +str(pcount))
- list6.append(slist6)
- slist6 = []
- slist6.append(list61[0][0])
- slist6.append('J' +str(pcount))
- slist6.append('J1')
- list6.append(slist6)
- else:
- list6 = list61
- kk1 = 0
- pd1 = 0
- list8 = []
- list10 = []
- qlrname = []
- while kk1 < len(list6):
- try:
- str5 = list6[kk1][0].value
- qlrna = str5.split('(',-1)[0]
- except:
- str5 = list6[kk1][0]
- qlrna = str5.split('(',-1)[0]
- #除重
- if qlrna in qlrname:
- pass
- else:
- qlrname.append(qlrna)
- ii2 = 0
- while ii2 < len(shplist):
- list7 = shplist[ii2]
- slist8 = []
- if list7['权利人'] == qlrna:
- slist8.append(qlrna)
- zdbdh = list7['电话']
- slist8.append(zdbdh)
- list8.append(slist8)
- pd1 = 1
- break
- ii2 = ii2 + 1
- if pd1 == 0:
- slist8.append(qlrna)
- slist8.append('')
- list8.append(slist8)
- ii3 = 0
- while ii3 < hjt.nrows:
- str6 = hjt.cell(ii3, 3).value
- if str6 == qlrna:
- slist10 = []
- slist10.append(qlrna)
- #把上面读的电话读进来
- kk2 = 0
- while kk2 < len(list8):
- if list8[kk2][0] == qlrna:
- slist10.append(list8[kk2][1])
- break
- else:
- kk2 = kk2 + 1
- slist10.append(hjt.cell(ii3, 9).value)
- list10.append(slist10)
- break
- ii3 = ii3 + 1
- kk1 = kk1 + 1
- #读到四至点
- aa2 = 0
- bdd = ''
- dnd = ''
- nxd = ''
- xbd = ''
- while aa2 < len(szdlist):
- zdbh2 = szdlist[aa2][0]
- if zdbh2 == zdh:
- xbd = szdlist[aa2][1]
- bdd = szdlist[aa2][2]
- dnd = szdlist[aa2][3]
- nxd = szdlist[aa2][4]
- break
- else:
- aa2 = aa2 + 1
- bddh = int(bdd.replace('J',''))
- dndh = int(dnd.replace('J',''))
- nxdh = int(nxd.replace('J',''))
- xbdh = int(xbd.replace('J',''))
- zds = len(list6)
- qlrs = len(list10)
- if cys < 7:
- if qlrs >= 7 or zds > 10:
- doc = doc2
- else:
- doc = doc1
- else:
- if qlrs >= 7 or zds > 10:
- doc = doc4
- else:
- doc = doc3
- #把其他内容补齐
- #lx为1则为集体,0是个人
- lx = 0
- if '集体' in qlr:
- lx = 1
-
- # 获取调查时间
- # dcsj = str(list1['调查日期'])
- # 拆分成年月日
- # try:
- # dcyear = dcsj.split('-', -1)[0]
- # dcmonth = dcsj.split('-', -1)[1]
- # dcday = dcsj.split('-', -1)[2]
- # except:
- # try:
- # dcyear = dcsj.split('/', -1)[0]
- # dcmonth = dcsj.split('/', -1)[1]
- # dcdays = dcsj.split('/', -1)[2]
- # dcday = dcdays.replace('\n','')
- # except:
- # dcyear = dcsj[0:4]
- # dcmonth = dcsj[4:6]
- # dcday = dcsj[6:8]
- # dc_nyr = dcyear + '年 ' + dcmonth + '月 ' + dcday + '日'
- dc_nyr = '2022年8月25日'
- # 调查员
- dcy = list1['调查员']
- # 坐落
- # 如果包含括号去掉括号部分
- zl = list1['坐落']
- if "(" in zl:
- zl_1 = zl.split('(', -1)[0]
- elif "(" in zl:
- zl_1 = zl.split('(', -1)[0]
- else:
- zl_1 = zl
- # 权属来源
- qsly = list1['权属来源']
- # 来源编号
- lybh = list1['来源编号']
- # 现面积()保留两位
- now_area = str(round(float(list1['面积']), 2))
- # 转换成亩()保留两位
- now_area_m = str(round((float(list1['面积']) * 0.0015), 2))
- # 终止日期(如果为空,则为‘长期’)
- zz_date = str(list1['终止日期'])
- qs_date = str(list1['起始日期'])
- # if zz_date == 'None' or zz_date == '长期' or zz_date == None:
- # # 则为长期
- # zz_nyr = '长期'
- # else:
- # zzyear = zz_date.split('-', -1)[0]
- # zzmonth = zz_date.split('-', -1)[1]
- # zzday = zz_date.split('-', -1)[2]
- # zz_nyr = zzyear + '年 ' + zzmonth + '月 ' + zzday + '日止'
- zz_nyr = '长期'
- # 权利人电话
- qlrtel = list1["电话"]
- # 造林年度
- zlnd = list1['造林年度']
- # 小地名
- xdm = list1['小地名']
- # 林班
- lb = list1["林班"]
- # 小班
- xb = list1["小班"]
- # 起源
- qy = list1["起源"]
- # 株数
- zs = list1["株数"]
- # 主要树种
- zysz = list1["主要树种"]
- # 林种
- lz = list1['林种']
- # 证载面积
- zzmj = str(list1['证载面积'])
- # 证载四至
- zzb = list1['证四至北']
- zzd = list1['证四至东']
- zzn = list1['证四至南']
- zzx = list1['证四至西']
- #法人信息
- frxm = list1['法人']
- frzjlx = list1['法人证件']
- frzjh = list1['法人证号']
- frdh = list1['法人电话']
- #所有权(后期新增)
- syq = list1['所有权']
- #备注相关
- # yzqlr = list1['原证权利人']
- yzqlr = list1['原证权']
- bz = list1['备注1']
- bzstr = ''
- if bz == '已故':
- bzstr = '原证载权利人' + yzqlr + '已故,由' + qlr + '继承' + ';'
- elif bz == '变更':
- bzstr = '原证载权利人' + yzqlr + '户籍户主已变更,更改为' + qlr + ';'
- else:
- bzstr = ''
- # 联动对应户籍表数据
- mm = 0
- list2 = []
- while mm < hjt.nrows:
- str1 = hjt.cell(mm, 4).value
- if str1 == hbm:
- nn = 0
- while nn < 13:
- # 把那一行的数据读出来
- list2.append(hjt.cell(mm, nn).value)
- nn = nn + 1
- break
- else:
- mm = mm + 1
- # 联动界址点shp
- mm3 = 0
- list5 = []
- while mm3 < len(jzdlist):
- plist = jzdlist[mm3]
- zddm = plist['ZDBH']
- if zddm == zdh:
- slist5 = []
- slist5.append(plist['JZDH'])
- slist5.append(plist['xx'])
- slist5.append(plist['yy'])
- list5.append(slist5)
- mm3 = mm3 + 1
- else:
- mm3 = mm3 + 1
- # 联动读取图幅号
- mm5 = 0
- tfh = ''
- while mm5 < len(tflist):
- zddm4 = tflist[mm5][0]
- if zddm4 == zdh:
- tfhs = tflist[mm5][1]
- tfh = tfhs.replace('\n','')
- break
- else:
- mm5 = mm5 + 1
- #endregion
- #region [第一张表]
- #开始写
- for paragraph in doc.paragraphs:
- parstr = paragraph.text
- if '不动产权籍调查表' in parstr:
- for paragraph in doc.paragraphs:
- for run in paragraph.runs:
- if '不动产权籍调查表' in run.text:
- run.font.size = Pt(26)
- run.font.name = "黑体"
- # 设置像黑体这样的中文字体,必须添加下面 2 行代码
- r = run._element.rPr.rFonts
- r.set(qn("w:eastAsia"), "黑体")
- if '宗海代码' in parstr:
- paragraph.text = '宗 地/宗海代码:' + zdh
- for paragraph in doc.paragraphs:
- for run in paragraph.runs:
- if '宗海代码' in run.text:
- run.font.size = Pt(16)
- run.font.name = "黑体"
- # 设置像黑体这样的中文字体,必须添加下面 2 行代码
- r = run._element.rPr.rFonts
- r.set(qn("w:eastAsia"), "黑体")
- if '调查时间' in parstr:
- # paragraph.text = '调查时间:' + dc_nyr
- paragraph.text = '调查时间:' + dc_nyr
- for paragraph in doc.paragraphs:
- for run in paragraph.runs:
- if '调查时间' in run.text:
- run.font.size = Pt(15)
- run.font.name = "黑体"
- # 设置像黑体这样的中文字体,必须添加下面 2 行代码
- r = run._element.rPr.rFonts
- r.set(qn("w:eastAsia"), "黑体")
- if '调查员' in parstr:
- paragraph.text = '调查员:' + dcy + '\t\t\t\t\t\t\t\t\t\t\t\t\t' + '日期:' + dc_nyr
- # paragraph.text = '调查员:' + dcy + '\t\t\t\t\t\t\t\t\t\t\t\t\t' + '日期:2022年11月25日'
- # paragraph.text = '调查员:李阳\t\t\t\t\t\t\t\t\t\t\t\t\t' + '日期:2022年8月25日'
- paragraph.style.font.name = '宋体'
- paragraph.style.font.size = Pt(10.5)
- table1 = doc.tables[0]
- # 这里自动清空内容
- # 所有权
- table1.cell(1, 3).paragraphs[0].text = ''
- run = table1.cell(1,3).paragraphs[0].add_run(syq)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 权利人
- table1.cell(2, 3).paragraphs[0].text = ''
- run = table1.cell(2, 3).paragraphs[0].add_run(qlr)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- if lx == 1:
- #集体
- #权力性质
- table1.cell(6, 10).paragraphs[0].text = ''
- run = table1.cell(6, 10).paragraphs[0].add_run('其他方式承包')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- #法人信息
- table1.cell(9,5).paragraphs[0].text = ''
- run = table1.cell(9, 5).paragraphs[0].add_run(frxm)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- table1.cell(8, 10).paragraphs[0].text = ''
- run = table1.cell(8, 10).paragraphs[0].add_run(frzjlx)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- table1.cell(9,10).paragraphs[0].text = ''
- run = table1.cell(9, 10).paragraphs[0].add_run(frzjh)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- table1.cell(9, 17).paragraphs[0].text = ''
- run = table1.cell(9, 17).paragraphs[0].add_run(frdh)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- else:
- #权力性质
- table1.cell(6, 10).paragraphs[0].text = ''
- run = table1.cell(6, 10).paragraphs[0].add_run('家庭承包')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- #法人信息
- table1.cell(9,5).paragraphs[0].text = ''
- run = table1.cell(9, 5).paragraphs[0].add_run('/')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- table1.cell(8, 10).paragraphs[0].text = ''
- run = table1.cell(8, 10).paragraphs[0].add_run('/')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- table1.cell(9,10).paragraphs[0].text = ''
- run = table1.cell(9, 10).paragraphs[0].add_run('/')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- table1.cell(9, 17).paragraphs[0].text = ''
- run = table1.cell(9, 17).paragraphs[0].add_run('/')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 土地权属来源证明材料
- table1.cell(6, 15).paragraphs[0].text = ''
- run = table1.cell(6, 15).paragraphs[0].add_run(qsly + '\n' + lybh)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 土地坐落
- table1.cell(7, 3).paragraphs[0].text = ''
- run = table1.cell(7, 3).paragraphs[0].add_run(zl)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 宗地代码
- table1.cell(14, 15).paragraphs[0].text = ''
- run = table1.cell(14, 15).paragraphs[0].add_run(zdh)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 图幅号
- table1.cell(17, 10).paragraphs[0].text = ''
- run = table1.cell(17, 10).paragraphs[0].add_run(tfh)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 比例尺
- table1.cell(16, 10).paragraphs[0].text = ''
- run = table1.cell(16, 10).paragraphs[0].add_run("1:2000")
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 新四至
- table1.cell(18, 5).paragraphs[0].text = ''
- run = table1.cell(18, 5).paragraphs[0].add_run("北:" + shp_szb)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- table1.cell(19, 5).paragraphs[0].text = ''
- run = table1.cell(19, 5).paragraphs[0].add_run("东:" + shp_szd)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- table1.cell(20, 5).paragraphs[0].text = ''
- run = table1.cell(20, 5).paragraphs[0].add_run("南:" + shp_szn)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- table1.cell(21, 5).paragraphs[0].text = ''
- run = table1.cell(21, 5).paragraphs[0].add_run("西:" + shp_szx)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 现宗地面积
- table1.cell(25, 10).paragraphs[0].text = ''
- run = table1.cell(25, 10).paragraphs[0].add_run(now_area)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 土地使用期限
- table1.cell(27, 10).paragraphs[0].text = ''
- run = table1.cell(27, 10).paragraphs[0].add_run(zz_nyr)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- #清空家庭成员表
- if doc == doc1 or doc == doc3:
- xx0 = 0
- try:
- while xx0 < 5:
- table1.cell((30+xx0), 4).paragraphs[0].text = ''
- table1.cell((30+xx0), 5).paragraphs[0].text = ''
- table1.cell((30+xx0), 17).paragraphs[0].text = ''
- xx0 = xx0 + 1
- except:
- pass
- else:
- table1.cell(30, 5).paragraphs[0].text = ''
- # 如果没有匹配上的,不影响其他运行
- if list2 == []:
- print(hbm + ' 无户籍数据对应,请检查。')
- else:
- if lx == 0:
- # 权利人类型
- table1.cell(2, 13).paragraphs[0].text = ''
- run = table1.cell(2, 13).paragraphs[0].add_run('个人')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 证件类型
- table1.cell(3, 13).paragraphs[0].text = ''
- run = table1.cell(3, 13).paragraphs[0].add_run('身份证')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 证件号
- table1.cell(4, 13).paragraphs[0].text = ''
- run = table1.cell(4, 13).paragraphs[0].add_run(list2[9])
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 通讯地址(户口所在地)
- table1.cell(5, 13).paragraphs[0].text = ''
- run = table1.cell(5, 13).paragraphs[0].add_run(list2[10])
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- else:
- # 权利人类型
- table1.cell(2, 13).paragraphs[0].text = ''
- run = table1.cell(2, 13).paragraphs[0].add_run('其他')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 证件类型
- table1.cell(3, 13).paragraphs[0].text = ''
- run = table1.cell(3, 13).paragraphs[0].add_run('/')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 证件号
- table1.cell(4, 13).paragraphs[0].text = ''
- run = table1.cell(4, 13).paragraphs[0].add_run('/')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 通讯地址(户口所在地)
- try:
- table1.cell(5, 13).paragraphs[0].text = ''
- run = table1.cell(5, 13).paragraphs[0].add_run(list2[10])
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- except:
- print(zdh + 'address Error')
-
-
- if doc == doc1 or doc == doc2:
- #6个人及以下
- if zzb ==''and zzd=='' and zzn =='' and zzx == '':
- table1.cell(35, 5).paragraphs[0].text = ''
- run = table1.cell(35, 5).paragraphs[0].add_run('')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- else:
- table1.cell(35, 5).paragraphs[0].text = ''
- run = table1.cell(35, 5).paragraphs[0].add_run(bzstr + '该户原林权证证载宗地四至是' + \
- ";东:" + zzd + ";南:" + zzn + ";西:" + zzx + "。原林权证证载面积" + zzmj + "亩。")
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- if list4 == []:
- print(hbm + ' 无家庭成员数据对应,请检查。')
- elif len(list4) == 1:
- # 只有户主一个人的,不填写
- pass
- else:
- pp = 1
- while pp < len(list4):
- run = table1.cell((29 + pp), 4).paragraphs[0].add_run(list4[(pp)][2])
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table1.cell((29 + pp), 5).paragraphs[0].add_run(list4[(pp)][4])
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- try:
- run = table1.cell((29 + pp), 17).paragraphs[0].add_run(list4[(pp)][3])
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- except:
- table1.cell((29 + pp), 17).paragraphs[0].text = ''
- pp = pp + 1
- else:
- #6个人以上
- if zzb ==''and zzd=='' and zzn =='' and zzx == '':
- table1.cell(30, 5).paragraphs[0].text = ''
- else:
- table1.cell(30, 5).paragraphs[0].text = ''
- run = table1.cell(30, 5).paragraphs[0].add_run(bzstr + '该户原林权证证载宗地四至是' + "北:" + zzb + \
- ";东:" + zzd + ";南:" + zzn + ";西:" + zzx + "。原林权证证载面积" + zzmj + "亩。")
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- jtcystr = ''
- pp = 1
- while pp < len(list4):
- str2 = list4[(pp)][2] + ',' + list4[(pp)][3] + ',' + list4[(pp)][4] + ';\n'
- jtcystr = jtcystr + str2
- pp = pp + 1
- table1.cell(29, 5).paragraphs[0].text = jtcystr
- #endregion
- #region [第二张表]
- #这里开始都不能固定
- listc5 = len(list5)
- kk3 = 0
- kk5 = listc5 // 21
- kk4 = listc5 % 21
- if kk4 == 0:
- kk3 = kk5
- else:
- kk3 = kk5 + 1
-
- if kk3 < 2:
- table2 = doc.tables[1]
- dg = table2.cell(3, 5).paragraphs[0].text
- if skk3 < 2:
- #只是清空
- bb0 = 0
- table2 = doc.tables[1]
- while bb0 < 21:
- try:
- table2.cell(((bb0 * 2) + 3), 0).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 3), 5).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 7).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 14).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 16).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 17).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 18).paragraphs[0].text = ''
- bb0 = bb0 + 1
- except:
- bb0 = bb0 + 1
- #记得最后一行特殊的也要删除
- table2.cell(44, 0).paragraphs[0].text = ''
- table2.cell(44, 5).paragraphs[0].text = ''
- table2.cell(43, 7).paragraphs[0].text = ''
- table2.cell(43, 14).paragraphs[0].text = ''
- table2.cell(43, 16).paragraphs[0].text = ''
- table2.cell(43, 17).paragraphs[0].text = ''
- table2.cell(43, 18).paragraphs[0].text = ''
- else:
- #删的只剩一个表
- nn3 = 1
- while nn3 < skk3:
- paragraph = doc.paragraphs[31]
- tables = doc.tables[2]
- tables._element.getparent().remove(tables._element)
- p = paragraph._element
- p.getparent().remove(p)
- nn3 = nn3 + 1
- doc.save(out_docpath)
- #清空表
- table2 = doc.tables[1]
- bb0 = 0
- while bb0 < 21:
- try:
- table2.cell(((bb0 * 2) + 3), 0).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 3), 5).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 7).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 14).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 16).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 17).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 18).paragraphs[0].text = ''
- bb0 = bb0 + 1
- except:
- bb0 = bb0 + 1
- #记得最后一行特殊的也要删除
- table2.cell(44, 0).paragraphs[0].text = ''
- table2.cell(44, 5).paragraphs[0].text = ''
- table2.cell(43, 7).paragraphs[0].text = ''
- table2.cell(43, 14).paragraphs[0].text = ''
- table2.cell(43, 16).paragraphs[0].text = ''
- table2.cell(43, 17).paragraphs[0].text = ''
- table2.cell(43, 18).paragraphs[0].text = ''
- skk3 = kk3
- aa = 0
- while aa < len(list5):
- try:
- run = table2.cell(((aa * 2) + 3), 0).paragraphs[0].add_run(str(list5[aa][0]))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- if aa == len(list5) - 1:
- run = table2.cell(((aa * 2) + 3), 5).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- else:
- #计算间距
- xc = abs(list5[aa+1][1] - list5[aa][1])
- yc = abs(list5[aa+1][2] - list5[aa][2])
- xxc = xc * xc
- yyc = yc * yc
- dis = round(math.sqrt(xxc + yyc),2)
- run = table2.cell(((aa * 2) + 3), 5).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((aa * 2) + 4), 7).paragraphs[0].add_run(str(dis))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((aa * 2) + 4), 14).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((aa * 2) + 4), 17).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- aa = aa + 1
- except:
- aa = aa + 1
- try:
- run = table2.cell(((aa * 2) + 3), 0).paragraphs[0].add_run(str(list5[0][0]))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- #计算间距
- xc = abs(list5[len(list5)-1][1] - list5[0][1])
- yc = abs(list5[len(list5)-1][2] - list5[0][2])
- xxc = xc * xc
- yyc = yc * yc
- dis = round(math.sqrt(xxc + yyc),2)
- run = table2.cell(((aa * 2) + 3), 5).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((aa * 2) + 2), 7).paragraphs[0].add_run(str(dis))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((aa * 2) + 2), 14).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((aa * 2) + 2), 17).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- except:
- #刚好是在最后一行的那个(固定位置)
- run = table2.cell(44, 0).paragraphs[0].add_run(str(list5[0][0]))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- #计算间距
- xc = abs(list5[len(list5)-1][1] - list5[0][1])
- yc = abs(list5[len(list5)-1][2] - list5[0][2])
- xxc = xc * xc
- yyc = yc * yc
- dis = round(math.sqrt(xxc + yyc),2)
- run = table2.cell(44, 5).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(43, 7).paragraphs[0].add_run(str(dis))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(43, 14).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(43, 17).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- else:
- table2 = doc.tables[1]
- dg = table2.cell(3, 5).paragraphs[0].text
- if skk3 < 2:
- #只是清空
- bb0 = 0
- table2 = doc.tables[1]
- while bb0 < 21:
- try:
- table2.cell(((bb0 * 2) + 3), 0).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 3), 5).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 7).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 14).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 16).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 17).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 18).paragraphs[0].text = ''
- bb0 = bb0 + 1
- except:
- bb0 = bb0 + 1
- #记得最后一行特殊的也要删除
- table2.cell(44, 0).paragraphs[0].text = ''
- table2.cell(44, 5).paragraphs[0].text = ''
- table2.cell(43, 7).paragraphs[0].text = ''
- table2.cell(43, 14).paragraphs[0].text = ''
- table2.cell(43, 16).paragraphs[0].text = ''
- table2.cell(43, 17).paragraphs[0].text = ''
- table2.cell(43, 18).paragraphs[0].text = ''
- else:
- #删的只剩一个表
- nn3 = 1
- while nn3 < skk3:
- paragraph = doc.paragraphs[31]
- tables = doc.tables[2]
- tables._element.getparent().remove(tables._element)
- p = paragraph._element
- p.getparent().remove(p)
- nn3 = nn3 + 1
- doc.save(out_docpath)
- #清空表
- table2 = doc.tables[1]
- bb0 = 0
- while bb0 < 21:
- try:
- table2.cell(((bb0 * 2) + 3), 0).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 3), 5).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 7).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 14).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 16).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 17).paragraphs[0].text = ''
- table2.cell(((bb0 * 2) + 4), 18).paragraphs[0].text = ''
- bb0 = bb0 + 1
- except:
- bb0 = bb0 + 1
- #记得最后一行特殊的也要删除
- table2.cell(44, 0).paragraphs[0].text = ''
- table2.cell(44, 5).paragraphs[0].text = ''
- table2.cell(43, 7).paragraphs[0].text = ''
- table2.cell(43, 14).paragraphs[0].text = ''
- table2.cell(43, 16).paragraphs[0].text = ''
- table2.cell(43, 17).paragraphs[0].text = ''
- table2.cell(43, 18).paragraphs[0].text = ''
- skk3 = kk3
- #先加table
- aa0 = 1
- while aa0 < kk3:
- table2 = doc.tables[1]
- new_t = deepcopy(table2)
- paragraph = doc.paragraphs[31]
- paragraph.insert_paragraph_before(text=None,style=None)
- paragraph._p.addnext(new_t._element)
- aa0 = aa0 + 1
- #分批次把内容加上
- aa = 0
- a21 = 21
- aa1 = 0
- while aa < len(list5):
- if a21 == 21:
- try:
- if aa == 0:
- pass
- else:
- #写在前一张表上
- run = table2.cell(44, 0).paragraphs[0].add_run(str(list5[aa][0]))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(44, 5).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- #下一张表
- a21 = 0
- table2 = doc.tables[1 + aa1]
- aa1 = aa1 + 1
- run = table2.cell(((a21 * 2) + 3), 0).paragraphs[0].add_run(str(list5[aa][0]))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- if aa == len(list5) - 1:
- run = table2.cell(((a21 * 2) + 3), 5).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- else:
- #计算间距
- xc = abs(list5[aa+1][1] - list5[aa][1])
- yc = abs(list5[aa+1][2] - list5[aa][2])
- xxc = xc * xc
- yyc = yc * yc
- dis = round(math.sqrt(xxc + yyc),2)
- run = table2.cell(((a21 * 2) + 3), 5).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((a21 * 2) + 4), 7).paragraphs[0].add_run(str(dis))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((a21 * 2) + 4), 14).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((a21 * 2) + 4), 17).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- aa = aa + 1
- except:
- aa = aa + 1
- else:
- try:
- run = table2.cell(((a21 * 2) + 3), 0).paragraphs[0].add_run(str(list5[aa][0]))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- if aa == len(list5) - 1:
- run = table2.cell(((a21 * 2) + 3), 5).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- else:
- #计算间距
- xc = abs(list5[aa+1][1] - list5[aa][1])
- yc = abs(list5[aa+1][2] - list5[aa][2])
- xxc = xc * xc
- yyc = yc * yc
- dis = round(math.sqrt(xxc + yyc),2)
- run = table2.cell(((a21 * 2) + 3), 5).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((a21 * 2) + 4), 7).paragraphs[0].add_run(str(dis))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((a21 * 2) + 4), 14).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((a21 * 2) + 4), 17).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- aa = aa + 1
- except:
- aa = aa + 1
- a21 = a21 + 1
- doc.save(out_docpath)
- try:
- run = table2.cell(((a21 * 2) + 3), 0).paragraphs[0].add_run(str(list5[0][0]))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- #计算间距
- xc = abs(list5[len(list5)-1][1] - list5[0][1])
- yc = abs(list5[len(list5)-1][2] - list5[0][2])
- xxc = xc * xc
- yyc = yc * yc
- dis = round(math.sqrt(xxc + yyc),2)
- run = table2.cell(((a21 * 2) + 3), 5).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((a21 * 2) + 2), 7).paragraphs[0].add_run(str(dis))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((a21 * 2) + 2), 14).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(((a21 * 2) + 2), 17).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- except:
- #刚好是在最后一行的那个(固定位置)
- run = table2.cell(44, 0).paragraphs[0].add_run(str(list5[0][0]))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- #计算间距
- xc = abs(list5[len(list5)-1][1] - list5[0][1])
- yc = abs(list5[len(list5)-1][2] - list5[0][2])
- xxc = xc * xc
- yyc = yc * yc
- dis = round(math.sqrt(xxc + yyc),2)
- run = table2.cell(44, 5).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(43, 7).paragraphs[0].add_run(str(dis))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(43, 14).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table2.cell(43, 17).paragraphs[0].add_run(dg)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- #endregion
- if kk3 < 2:
- #邻宗地
- table3 = doc.tables[2]
- #信息表
- table4 = doc.tables[3]
- #界址点描述
- table5 = doc.tables[4]
- #调查表
- table6 = doc.tables[6]
- else:
- kk3 = kk3 - 1
- #邻宗地
- table3 = doc.tables[2 + kk3]
- #信息表
- table4 = doc.tables[3 + kk3]
- #界址点描述
- table5 = doc.tables[4 + kk3]
- #调查表
- table6 = doc.tables[6 + kk3]
- #region [三表]
- #先清空
- kk0 = 3
- while kk0 < 21:
- try:
- table3.cell(kk0, 0).paragraphs[0].text = ''
- table3.cell(kk0, 1).paragraphs[0].text = ''
- table3.cell(kk0, 2).paragraphs[0].text = ''
- table3.cell(kk0, 3).paragraphs[0].text = ''
- except:
- pass
- kk0 = kk0 + 1
- bb3 = 0
- while bb3 < len(list6):
- if list6[bb3][1] == list6[bb3][2]:
- pass
- else:
- run = table3.cell(bb3+3, 0).paragraphs[0].add_run(list6[bb3][1])
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table3.cell(bb3+3, 2).paragraphs[0].add_run(list6[bb3][2])
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- #中心点需要算
- str10 = ''
- str10 = zjd(list6[bb3][1],list6[bb3][2],pcount)
- run = table3.cell(bb3+3, 1).paragraphs[0].add_run(str10)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- try:
- text1 = list6[bb3][0]
- str5 = text1.value
- except:
- str5 = text1
- # if list6[kk3][3] != '':
- # str51 = str5
- # else:
- # str51 = str5
- run = table3.cell(bb3+3, 3).paragraphs[0].add_run(str5)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- bb3 = bb3 + 1
- xx1 = 0
- while xx1 < 16:
- try:
- table4.cell(2, 1 + (xx1 * 5)).paragraphs[0].text = ''
- table4.cell(2, 2 + (xx1 * 5)).paragraphs[0].text = ''
- table4.cell(2, 3 + (xx1 * 5)).paragraphs[0].text = ''
- except:
- pass
- xx1 = xx1 + 1
- list8 = []
- kk1 = 0
- pd1 = 0
- kk4 = 0
- lname = []
- aa4 = 0
- while kk4 < len(list10):
- if list10[kk4][0] in lname:
- pass
- else:
- lname.append(list10[kk4][0])
- try:
- run = table4.cell(2, 1 + (aa4 * 5)).paragraphs[0].add_run(list10[kk4][0])
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- except:
- print(zdh + ' LZD Error')
- try:
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table4.cell(2, 2 + (aa4 * 5)).paragraphs[0].add_run(list10[kk4][2])
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- except:
- print(zdh + ' LZD Error')
- try:
- run = table4.cell(2, 3 + (aa4 * 5)).paragraphs[0].add_run(list10[kk4][1])
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- except:
- print(zdh + ' LZD Error')
- aa4 = aa4 + 1
- kk4 = kk4 + 1
- #endregion
- #region [四五六表]
- table5.cell(1, 1).paragraphs[0].text = ''
- table5.cell(2, 1).text = ''
- #根据邻宗地来写(list6)
- str2 = ''
- dd = 0
- while dd < len(list6):
- name2 = list6[dd][0]
- if '(' in name2:
- #这个是个人名
- zdname = name2.split('(',-1)[0] + '林地'
- else:
- zdname = name2
- qsd = list6[dd][1]
- qsdh = int(qsd.replace('J',''))
- zzd = list6[dd][2]
- zzdh = int(zzd.replace('J',''))
- if abs(qsdh - zzdh) == 0:
- str2 = str2 + qsd + '位于' + zdname + '的交界处;\n\t'
- else:
- str2 = str2 + qsd +'至'+ zzd + '位于' + zdname + '的交界处;\n\t'
- dd = dd + 1
- str3 = ''
- dd = 0
- while dd < len(list6):
- name2 = list6[dd][0]
- if '(' in name2:
- #这个是个人名
- zdname = name2.split('(',-1)[0] + '林地'
- else:
- zdname = name2
- qsd = list6[dd][1]
- qsdh = int(qsd.replace('J',''))
- zzd = list6[dd][2]
- zzdh = int(zzd.replace('J',''))
- if zzdh - qsdh == 0:
- pass
- elif zzdh - qsdh == 1:
- str3 = str3 + qsd +'沿着' + zdname + '的边界,走向' + zzd + ';\n\t'
- elif zzdh - qsdh == 2:
- str3 = str3 + qsd +'沿着' + zdname + '的边界,途径J'+str(qsdh+1)+',走向' + zzd + ';\n\t'
- elif zzdh - qsdh < 0:
- if qsdh == pcount:
- str3 = str3 + qsd +'沿着' + zdname + '的边界' +',走向' + zzd + ';\n\t'
- elif qsdh + 1 == pcount:
- tjqsd = 'J' + str(qsdh + 1)
- str3 = str3 + qsd +'沿着' + zdname + '的边界' +',途径' +tjqsd +',走向' + zzd + ';\n\t'
- else:
- tjqsd = 'J' + str(qsdh + 1)
- str3 = str3 + qsd +'沿着' + zdname + '的边界' +',途径' +tjqsd+ '-J' +str(pcount) +',走向' + zzd + ';\n\t'
- else:
- tjqsd = 'J' + str(qsdh + 1)
- tjzzd = 'J' + str(zzdh - 1)
- if tjzzd == 'J0':
- if qsdh == pcount:
- str3 = str3 + qsd +'沿着' + zdname + '的边界' +',走向' + zzd + ';\n\t'
- else:
- if (qsdh + 1) == (zzdh - 1):
- str3 = str3 + qsd +'沿着' + zdname + '的边界,途径J'+str(qsdh+1)+',走向' + zzd + ';\n\t'
- else:
- str3 = str3 + qsd +'沿着' + zdname + '的边界' +',途径' +tjqsd+ '-J' +str(pcount) +',走向' + zzd + ';\n\t'
- else:
- if (zzdh - 1) <= (qsdh + 1):
- str3 = str3 + qsd +'沿着' + zdname + '的边界' +',途径' +tjzzd+ ',走向' + zzd + ';\n\t'
- else:
- str3 = str3 + qsd +'沿着' + zdname + '的边界' +',途径' +tjqsd+ '-' +tjzzd + ',走向' + zzd + ';\n\t'
- dd = dd + 1
- run = table5.cell(1, 1).paragraphs[0].add_run('\t' + str2)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table5.cell(2, 1).paragraphs[0].add_run(str3)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- if ii == 0:
- #平方米的符号
- dw1 = table6.rows[12].cells[1].text
- table6.cell(0, 1).paragraphs[0].text = ''
- table6.cell(1, 1).paragraphs[0].text = ''
- table6.cell(3, 3).paragraphs[0].text = ''
- table6.cell(2, 8).paragraphs[0].text = ''
- # table6.cell(4, 8).paragraphs[0].text = ''
- # table6.cell(4, 13).paragraphs[0].text = ''
- # table6.cell(5, 13).paragraphs[0].text = ''
- table6.cell(7, 1).paragraphs[0].text = ''
- table6.cell(8, 1).paragraphs[0].text = ''
- table6.cell(9, 1).paragraphs[0].text = ''
- table6.cell(10, 1).paragraphs[0].text = ''
- table6.cell(11, 1).paragraphs[0].text = ''
- table6.cell(11, 6).paragraphs[0].text = ''
- table6.cell(12, 1).paragraphs[0].text = ''
- table6.cell(12, 6).paragraphs[0].text = ''
- table6.cell(13, 1).paragraphs[0].text = ''
- table6.cell(13, 6).paragraphs[0].text = ''
- table6.cell(19, 4).paragraphs[0].text = ''
- # 宗地号
- run = table6.cell(0,1).paragraphs[0].add_run(zdh)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 所有人
- qq = 0
- namestr = ''
- sfzstr = ''
- while qq < len(list4):
- if qq == len(list4) - 1:
- # 姓名
- name1 = list4[qq][2]
- namestr = namestr + name1
- # 身份证号
- sfz1 = list4[qq][4]
- sfzstr = sfzstr + sfz1
- qq = qq + 1
- else:
- # 姓名
- name1 = list4[qq][2]
- namestr = namestr + name1 + '\n'
- # 身份证号
- sfz1 = list4[qq][4]
- sfzstr = sfzstr + sfz1 + '\n'
- qq = qq + 1
- if len(list4) < 8:
- run = table6.cell(1,1).paragraphs[0].add_run(namestr)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table6.cell(2,8).paragraphs[0].add_run(sfzstr)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- else:
- #缩小字号
- run = table6.cell(1,1).paragraphs[0].add_run(namestr)
- run.font.name = '仿宋'
- run.font.size = Pt(7.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- run = table6.cell(2,8).paragraphs[0].add_run(sfzstr)
- run.font.name = '仿宋'
- run.font.size = Pt(7.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 权利人类型
- if lx == 1:
- run = table6.cell(7,1).paragraphs[0].add_run('其他')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- else:
- run = table6.cell(7,1).paragraphs[0].add_run('个人')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 坐落
- run = table6.cell(8,1).paragraphs[0].add_run(zl)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 造林年度
- if zlnd == ' ' or zlnd == None or zlnd == '':
- run = table6.cell(9,1).paragraphs[0].add_run('1998年')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- else:
- run = table6.cell(9,1).paragraphs[0].add_run(zlnd + '年')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 小地名
- run = table6.cell(10,1).paragraphs[0].add_run(xdm)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 林班
- run = table6.cell(11,1).paragraphs[0].add_run(lb)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 小班
- run = table6.cell(11,6).paragraphs[0].add_run(xb)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- str2 = now_area + '㎡/ ' + now_area_m + '亩'
- run = table6.cell(12,1).paragraphs[0].add_run(str2)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 起源
- run = table6.cell(12,6).paragraphs[0].add_run(qy)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 株树
- run = table6.cell(13,1).paragraphs[0].add_run(str(zs))
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 主要树种
- run = table6.cell(13,6).paragraphs[0].add_run(zysz)
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- # 第六个表格的备注
- run = table6.cell(19,4).paragraphs[0].add_run('该户原林权证证载面积' +zzmj+'亩,株数'+str(zs)+'株。')
- run.font.name = '仿宋'
- run.font.size = Pt(10.5)
- r = run._element
- r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
- #endregion
- print(zdh + ' finish')
- # except:
- # print(zdh + ' error')
- doc.save(out_docpath)
- ii= ii + 1
-
- # def chsf(list1,pcount):
- # ii = 0
- # list2 = []
- # aa = 0
- # num0 = 0
- # num1 = 0
- # while ii < len(list1):
- # if list2 == []:
- # slist2 = []
- # slist2.append(list1[ii][0])
- # slist2.append('J1')
- # slist2.append(list1[ii][2])
- # list2.append(slist2)
- # num0 = int(list1[ii][2].replace('J',''))
- # num1 = 1
- # ii = ii + 1
- # elif list2[aa][0] == list1[ii][0]:
- # if num0 <= int(int(list1[ii][1].replace('J',''))) and num1 <= int(list1[ii][1].replace('J','')):
- # list2[aa][2] = list1[ii][2]
- # num0 = int(list2[aa][2].replace('J',''))
- # num1 = int(list2[aa][1].replace('J',''))
- # else:
- # if int(list1[ii][1].replace('J','')) > int(list1[ii][2].replace('J','')):
- # pass
- # #这里不合
- # # list2[aa][2] = list1[ii][2]
- # # num0 = int(list2[aa][2].replace('J',''))
- # # num1 = int(list2[aa][1].replace('J',''))
- # ii = ii + 1
- # else:
- # if num0 <= int(list1[ii][2].replace('J','')) and num1 <= int(list1[ii][1].replace('J','')):
- # #检查和上一个是否连接
- # if num0 != int(list1[ii][1].replace('J','')):
- # if num0 == pcount:
- # list2[aa][2] = 'J' + str(pcount - 1)
- # slist2 = []
- # slist2.append(list1[ii][0])
- # slist2.append('J' + str(pcount - 1))
- # slist2.append(list1[ii][2])
- # list2.append(slist2)
- # else:
- # slist2 = []
- # slist2.append(list1[ii][0])
- # slist2.append('J'+ str(num0))
- # slist2.append(list1[ii][2])
- # list2.append(slist2)
- # else:
- # slist2 = []
- # slist2.append(list1[ii][0])
- # slist2.append(list1[ii][1])
- # slist2.append(list1[ii][2])
- # list2.append(slist2)
- # aa = aa + 1
- # num0 = int(list2[aa][2].replace('J',''))
- # num1 = int(list2[aa][1].replace('J',''))
- # elif num0 == 1:
- # #检查和上一个是否连接
- # if num0 != int(list1[ii][1].replace('J','')):
- # if num0 == pcount:
- # list2[aa][2] = 'J' + str(pcount - 1)
- # slist2 = []
- # slist2.append(list1[ii][0])
- # slist2.append('J' + str(pcount - 1))
- # slist2.append(list1[ii][2])
- # list2.append(slist2)
- # else:
- # slist2 = []
- # slist2.append(list1[ii][0])
- # slist2.append('J'+ str(num0))
- # slist2.append(list1[ii][2])
- # list2.append(slist2)
- # else:
- # slist2 = []
- # slist2.append(list1[ii][0])
- # slist2.append(list1[ii][1])
- # slist2.append(list1[ii][2])
- # list2.append(slist2)
- # aa = aa + 1
- # num0 = int(list2[aa][2].replace('J',''))
- # num1 = int(list2[aa][1].replace('J',''))
- # else:
- # if int(list1[ii][1].replace('J','')) > int(list1[ii][2].replace('J','')):
- # if list1[ii][2] == 'J1':
- # #应该是这里,拆成两个
- # slist2 = []
- # slist2.append(list1[ii][0])
- # slist2.append(list1[ii][1])
- # slist2.append('J1')
- # list2.append(slist2)
- # else:
- # #应该是这里,拆成两个
- # slist2 = []
- # slist2.append(list1[ii][0])
- # slist2.append(list1[ii][1])
- # slist2.append('J1')
- # list2.append(slist2)
- # slist2 = []
- # slist2.append(list1[ii][0])
- # slist2.append('J1')
- # slist2.append(list1[ii][2])
- # list2.append(slist2)
- # aa = aa + 1
- # num0 = int(list2[aa][2].replace('J',''))
- # num1 = int(list2[aa][1].replace('J',''))
- # ii =ii + 1
- # bb = 0
- # while bb < len(list2):
- # if bb != len(list2) - 1:
- # if list2[bb][2] == list2[bb + 1][1]:
- # pass
- # else:
- # #优先保带JE的
- # if 'JE' in list2[bb][0]:
- # list2[bb + 1][1] = list2[bb][2]
- # else:
- # list2[bb][2] = list2[bb + 1][1]
- # else:
- # if list2[bb-1][2] == list2[bb][1]:
- # pass
- # else:
- # #优先保带JE的
- # if 'JE' in list2[bb-1][0]:
- # list2[bb][1] = list2[bb-1][2]
- # else:
- # list2[bb-1][2] = list2[bb][1]
- # if list2[bb][2] !='J1' and bb == len(list2) - 1:
- # if len(list2) != 1:
- # list2[bb][2] = 'J1'
- # else:
- # slist2 = []
- # slist2.append(list2[bb][0])
- # slist2.append(list2[bb][2])
- # slist2.append(list2[bb][1])
- # list2.append(slist2)
- # break
- # # elif list2[bb][2] == 'J' + str(pcount) and bb == len(list2) - 1:
- # # slist2 = []
- # # slist2.append(list2[bb][0])
- # # slist2.append('J' + str(pcount))
- # # slist2.append('J1')
- # # list2.append(slist2)
- # # break
- # if list2[bb][1] == list2[bb][2]:
- # try:
- # if abs(int(list2[bb+1][1].replace('J','')) - int(list2[bb+1][2].replace('J',''))) == 1:
- # list2[bb][2] = 'J' + str(int(list2[bb][2].replace('J','')) + 1)
- # else:
- # list2[bb][2] = 'J' + str(int(list2[bb][2].replace('J','')) + 1)
- # list2[bb+1][1] = 'J' + str(int(list2[bb][2].replace('J','')) + 1)
- # except:
- # pass
- # bb =bb + 1
-
- # return list2
-
- def chsf(list1,pcount):
- ii = 0
- list2 = []
- aa = 0
- num0 = 0
- num1 = 0
- while ii < len(list1):
- if list2 == []:
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append('J1')
- slist2.append(list1[ii][2])
- list2.append(slist2)
- num0 = int(list1[ii][2].replace('J',''))
- num1 = 1
- ii = ii + 1
- elif list2[aa][0] == list1[ii][0]:
- if num0 <= int(int(list1[ii][1].replace('J',''))) and num1 <= int(list1[ii][1].replace('J','')):
- list2[aa][2] = list1[ii][2]
- num0 = int(list2[aa][2].replace('J',''))
- num1 = int(list2[aa][1].replace('J',''))
- else:
- if int(list1[ii][1].replace('J','')) > int(list1[ii][2].replace('J','')):
- pass
- #这里不合
- # list2[aa][2] = list1[ii][2]
- # num0 = int(list2[aa][2].replace('J',''))
- # num1 = int(list2[aa][1].replace('J',''))
- ii = ii + 1
- else:
- if num0 <= int(list1[ii][2].replace('J','')) and num1 <= int(list1[ii][1].replace('J','')):
- #检查和上一个是否连接
- if num0 != int(list1[ii][1].replace('J','')):
- #有一边是否是JE
- if 'JE' in list2[aa][0]:
- if num0 == pcount:
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append('J' + str(pcount))
- slist2.append('J1')
- list2.append(slist2)
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append('J1')
- slist2.append(list1[ii][2])
- list2.append(slist2)
- else:
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append('J'+ str(num0))
- slist2.append(list1[ii][2])
- list2.append(slist2)
- elif 'JE' in list1[ii][0]:
- if num0 == pcount:
- slist2 = []
- slist2.append(list1[aa][0])
- slist2.append('J1')
- slist2.append(list1[ii][1])
- list2.append(slist2)
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append(list1[ii][1])
- slist2.append(list1[ii][2])
- list2.append(slist2)
- else:
- list2[aa][2] = list1[ii][1]
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append(list1[ii][1])
- slist2.append(list1[ii][2])
- list2.append(slist2)
- else:
- if num0 == pcount:
- list2[aa][2] = 'J' + str(pcount - 1)
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append('J' + str(pcount - 1))
- slist2.append(list1[ii][2])
- list2.append(slist2)
- else:
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append('J'+ str(num0))
- slist2.append(list1[ii][2])
- list2.append(slist2)
- else:
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append(list1[ii][1])
- slist2.append(list1[ii][2])
- list2.append(slist2)
- aa = aa + 1
- num0 = int(list2[aa][2].replace('J',''))
- num1 = int(list2[aa][1].replace('J',''))
- elif num0 == 1:
- #检查和上一个是否连接
- if num0 != int(list1[ii][1].replace('J','')):
- if 'JE' in list2[aa][0]:
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append(list2[aa][2])
- slist2.append(list1[ii][2])
- list2.append(slist2)
- elif 'JE' in list1[ii][0]:
- slist2 = []
- slist2.append(list2[aa][0])
- slist2.append('JE')
- slist2.append(list1[ii][1])
- list2.append(slist2)
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append(list2[ii][1])
- slist2.append(list1[ii][2])
- list2.append(slist2)
- else:
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append('J'+ str(num0))
- slist2.append(list1[ii][2])
- list2.append(slist2)
- else:
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append(list1[ii][1])
- slist2.append(list1[ii][2])
- list2.append(slist2)
- aa = aa + 1
- num0 = int(list2[aa][2].replace('J',''))
- num1 = int(list2[aa][1].replace('J',''))
- else:
- if int(list1[ii][1].replace('J','')) > int(list1[ii][2].replace('J','')):
- if list1[ii][2] == 'J1':
- #应该是这里,拆成两个
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append(list1[ii][1])
- slist2.append('J1')
- list2.append(slist2)
- else:
- #应该是这里,拆成两个
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append(list1[ii][1])
- slist2.append('J1')
- list2.append(slist2)
- slist2 = []
- slist2.append(list1[ii][0])
- slist2.append('J1')
- slist2.append(list1[ii][2])
- list2.append(slist2)
- aa = aa + 1
- num0 = int(list2[aa][2].replace('J',''))
- num1 = int(list2[aa][1].replace('J',''))
- ii =ii + 1
- bb = 0
- while bb < len(list2):
- if bb != len(list2) - 1:
- if list2[bb][2] == list2[bb + 1][1]:
- pass
- else:
- #优先保带JE的
- if 'JE' in list2[bb][0]:
- list2[bb + 1][1] = list2[bb][2]
- else:
- list2[bb][2] = list2[bb + 1][1]
- else:
- if list2[bb-1][2] == list2[bb][1]:
- pass
- else:
- #优先保带JE的
- if 'JE' in list2[bb-1][0]:
- list2[bb][1] = list2[bb-1][2]
- else:
- list2[bb-1][2] = list2[bb][1]
- if list2[bb][2] !='J1' and bb == len(list2) - 1:
- if len(list2) > 2:
- list2[bb][2] = 'J1'
- else:
- if list2[bb][1] == 'J1':
- slist2 = []
- slist2.append(list2[bb][0])
- slist2.append(list2[bb][2])
- slist2.append('J1')
- list2.append(slist2)
- else:
- slist2 = []
- slist2.append(list2[bb][0])
- slist2.append(list2[bb][2])
- slist2.append('J1')
- list2.append(slist2)
- # elif list2[bb][2] == 'J' + str(pcount) and bb == len(list2) - 1:
- # slist2 = []
- # slist2.append(list2[bb][0])
- # slist2.append('J' + str(pcount))
- # slist2.append('J1')
- # list2.append(slist2)
- # break
- if list2[bb][1] == list2[bb][2]:
- try:
- if abs(int(list2[bb+1][1].replace('J','')) - int(list2[bb+1][2].replace('J',''))) == 1:
- list2[bb][2] = 'J' + str(int(list2[bb][2].replace('J','')) + 1)
- else:
- list2[bb][2] = 'J' + str(int(list2[bb][2].replace('J','')) + 1)
- list2[bb+1][1] = 'J' + str(int(list2[bb][2].replace('J','')) + 1)
- except:
- pass
- bb =bb + 1
-
- return list2
-
- def takesixth(elem):
- return elem[4]
-
- def zjd(pt1,pt2,pcount):
- str1 = ''
- num0 = int(pt1.replace('J',''))
- num1 = int(pt2.replace('J',''))
-
- if abs(num1 - num0) == 1:
- str1 = '/'
- else:
- if num0 < num1:
- #正常取中间的
- llist = []
- ii = 1
- while num0 +ii < num1:
- llist.append('J'+ str(num0 +ii))
- ii =ii + 1
- else:
- llist = []
- ii = 1
- while num0 +ii <= pcount:
- llist.append('J'+ str(num0 +ii))
- ii =ii + 1
- mm = 1
- while mm < num1:
- llist.append('J'+ str(mm))
- mm = mm + 1
- if llist == []:
- str1 = '/'
- else:
- nn = 0
- if len(llist) < 10:
- while nn < len(llist):
- str1 = str1 + llist[nn]
- if nn == len(llist) - 1:
- pass
- else:
- str1 = str1 + '、'
- nn =nn + 1
- else:
- str1 = llist[0] + '-' + llist[len(llist) - 1]
- return str1
-
- if __name__ == '__main__':
- start()
-
|