工具箱相关
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

LQreport_all1.py 98KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073
  1. import bdb
  2. from ctypes.wintypes import LONG
  3. import os
  4. import tkinter as tk
  5. from tkinter import N, filedialog as tkFileDialog
  6. from tkinter import messagebox
  7. from xmlrpc.client import NOT_WELLFORMED_ERROR
  8. import docx
  9. import shapefile
  10. import xlrd
  11. from docx.oxml.ns import qn
  12. from docx.shared import Pt
  13. from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
  14. import math
  15. import random
  16. from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
  17. from copy import deepcopy
  18. def start():
  19. #region [add]
  20. # docpath1 = r'D:\01yyj\林权模板最终版\林权调查表模板1.docx'
  21. docpath1 = r'D:\2022林权\红庙村YYJ\林权模板最终版\林权调查表模板1.docx'
  22. docpath2 = r'D:\2022林权\红庙村YYJ\林权模板最终版\林权调查表模板2.docx'
  23. docpath3 = r'D:\2022林权\红庙村YYJ\林权模板最终版\林权调查表模板3.docx'
  24. docpath4 = r'D:\2022林权\红庙村YYJ\林权模板最终版\林权调查表模板4.docx'
  25. shppath = r'D:\2022林权\三四组\宗地图斑\元坝镇中梁村三四组(原中梁村四五组)宗地合并.shp'
  26. hjpath = r'D:\20221112LQ\20221123\元坝镇中梁村三四组(原四五组)1123\元坝镇中梁村三四组户籍表.xls'
  27. jtcypath = r'D:\20221112LQ\20221123\元坝镇中梁村三四组(原四五组)1123\元坝镇中梁村三四组家庭成员信息表.xls'
  28. tfpath = r'D:\20221112LQ\20221123\TF.txt'
  29. jzdpath = r'D:\2022林权\三四组\JZD.shp'
  30. outpath = r'D:\20221112LQ\20221123\Result'
  31. szpath = r'D:\20221112LQ\20221123\LZD_gc.txt'
  32. pcpath = r'D:\20221112LQ\20221123\JZpointCount.txt'
  33. szdpath = r'D:\20221112LQ\20221123\SZpoint.txt'
  34. #endregion
  35. #region [读取]
  36. # 读取
  37. doc1 = docx.Document(docpath1)
  38. doc2 = docx.Document(docpath2)
  39. doc3 = docx.Document(docpath3)
  40. doc4 = docx.Document(docpath4)
  41. # 读取shpfile,保存成list方便使用
  42. try:
  43. shpfile = shapefile.Reader(shppath)
  44. except:
  45. shpfile = shapefile.Reader(shppath, encoding="gbk")
  46. # 读取jzdpath,保存成list方便使用
  47. try:
  48. jzdfile = shapefile.Reader(jzdpath)
  49. except:
  50. jzdfile = shapefile.Reader(jzdpath, encoding="gbk")
  51. shplist = shpfile.records()
  52. jzdlist = jzdfile.records()
  53. # 读取户籍
  54. hjfile = xlrd.open_workbook(hjpath)
  55. hjt = hjfile.sheets()[0]
  56. # 读取成员
  57. jtcyfile = xlrd.open_workbook(jtcypath)
  58. jtcyt = jtcyfile.sheets()[0]
  59. #读取图幅
  60. tflist = []
  61. with open(tfpath, 'r') as tff:
  62. for tfl in tff:
  63. szzd2 = tfl.split(':', -1)[0]
  64. tf = tfl.split(':', -1)[1]
  65. tfhlist = []
  66. tfhlist.append(szzd2)
  67. tfhlist.append(tf)
  68. tflist.append(tfhlist)
  69. #邻宗地
  70. szlist = []
  71. with open(szpath, 'r') as szf:
  72. for szl in szf:
  73. szzd1 = szl.split(':', -1)[0]
  74. # str3 = szl.split(':', -1)[1]
  75. szplist = []
  76. szplist.append(szzd1)
  77. #排除最后一个是换行符
  78. # szplist.append(str3.split(";",-1))
  79. szplist.append(szl.split(";",-1))
  80. szlist.append(szplist)
  81. #总点数
  82. # # 读取界址点数txt,转化为list
  83. pclist = []
  84. with open(pcpath, 'r') as pcf:
  85. for pcl in pcf:
  86. szzd1 = pcl.split(':', -1)[0]
  87. # str3 = szl.split(':', -1)[1]
  88. pcplist = []
  89. pcplist.append(szzd1)
  90. str11 = pcl.split(':', -1)[1]
  91. try:
  92. pc = int(str11.replace('\n',''))
  93. except:
  94. pc = 0
  95. print('pclist Error')
  96. pcplist.append(pc)
  97. pclist.append(pcplist)
  98. #读取四至点位
  99. szdlist = []
  100. with open(szdpath, 'r') as szdf:
  101. for szdl in szdf:
  102. szzd1 = szdl.split(':', -1)[0]
  103. # str3 = szl.split(':', -1)[1]
  104. szsdlist = []
  105. szsdlist.append(szzd1)
  106. str11 = szdl.split(':', -1)[1]
  107. szd1 = str11.split(',',-1)[0]
  108. szd2 = str11.split(',',-1)[1]
  109. szd3 = str11.split(',',-1)[2]
  110. szds = str11.split(',',-1)[3]
  111. szd4 = szds.replace('\n','')
  112. szsdlist.append(szd1)
  113. szsdlist.append(szd2)
  114. szsdlist.append(szd3)
  115. szsdlist.append(szd4)
  116. szdlist.append(szsdlist)
  117. #endregion
  118. ii = 0
  119. #家庭成员是list4
  120. #邻宗地信息是list6
  121. #邻宗地人员信息是list10
  122. kk3 = 0
  123. dw1 = ''
  124. dg = ''
  125. skk3 = 0
  126. while ii < len(shplist):
  127. #region [关键词]
  128. list1 = shplist[ii]
  129. #宗地编号
  130. zdh = list1['宗地编号']
  131. #户编码
  132. hbm = list1["户编号"]
  133. #权利人
  134. qlr = list1['权利人']
  135. # 组合成名字
  136. docname = zdh + '-' + qlr + '林权调查表.docx'
  137. out_docpath = outpath + '/' + docname
  138. #endregion
  139. if os.path.exists(out_docpath):
  140. print(zdh + ' exists')
  141. else:
  142. #region [数据]
  143. # try:
  144. # 四至
  145. shp_szb = list1['四至北']
  146. shp_szd = list1['四至东']
  147. shp_szn = list1['四至南']
  148. shp_szx = list1['四至西']
  149. #总点数
  150. zz = 0
  151. pcount =0
  152. while zz < len(pclist):
  153. if pclist[zz][0] == zdh:
  154. pcount = pclist[zz][1]
  155. break
  156. else:
  157. zz = zz + 1
  158. #先把有判断因素的东西弄出来
  159. # 联动对应家庭成员表(户编码)
  160. mm2 = 0
  161. list4 = []
  162. while mm2 < jtcyt.nrows:
  163. str1 = jtcyt.cell(mm2, 0).value
  164. if str1 == hbm:
  165. # 先把个人信息存入list
  166. slist = []
  167. nn2 = 0
  168. while nn2 < 5:
  169. slist.append(jtcyt.cell(mm2, nn2).value)
  170. nn2 = nn2 + 1
  171. # 保证第一个是权利人
  172. if jtcyt.cell(mm2, 2).value == qlr:
  173. list4.insert(0, slist)
  174. else:
  175. list4.append(slist)
  176. mm2 = mm2 + 1
  177. #家庭成员人数
  178. cys = len(list4)
  179. #邻宗地
  180. # 联动读取四至
  181. mm4 = 0
  182. list6 = []
  183. while mm4 < len(szlist):
  184. zddm3 = szlist[mm4][0]
  185. if zddm3 == zdh:
  186. nn4 = 0
  187. szlist1 = szlist[mm4][1]
  188. while nn4 < len(szlist1) - 1:
  189. if nn4 == 0:
  190. lzdstr = szlist1[0].split(':',-1)[1]
  191. lzdname = lzdstr.split(',',-1)[0]
  192. else:
  193. lzdname = szlist1[nn4].split(',',-1)[0]
  194. if 'JE' in lzdname:
  195. #匹配找到对应人的身份信息
  196. nn5 = 0
  197. while nn5 < hjt.nrows:
  198. str4 = hjt.cell(nn5, 14).value
  199. if str4== lzdname:
  200. try:
  201. lzdqrl = hjt.cell(nn5, 3).value
  202. except:
  203. lzdqrl = hjt.cell(nn5, 3)
  204. lzdstr1 = lzdqrl + '(' + lzdname + ')'
  205. slist6 = []
  206. slist6.append(lzdstr1)
  207. #整个排下序
  208. num0 = szlist1[nn4].split(',',-1)[1]
  209. num1 = szlist1[nn4].split(',',-1)[2]
  210. xhnum = int(num0.replace('J',''))
  211. slist6.append(num0)
  212. slist6.append(num1)
  213. slist6.append(lzdname)
  214. slist6.append(xhnum)
  215. list6.append(slist6)
  216. break
  217. else:
  218. nn5 = nn5 + 1
  219. if 'LAKE' in lzdname:
  220. slist6 = []
  221. slist6.append('乔木林地')
  222. # sznum= -1
  223. num0 = szlist1[nn4].split(',',-1)[1]
  224. num1 = szlist1[nn4].split(',',-1)[2]
  225. xhnum = int(num0.replace('J',''))
  226. slist6.append(num0)
  227. slist6.append(num1)
  228. slist6.append('')
  229. slist6.append(xhnum)
  230. # slist6.append(sznum)
  231. list6.append(slist6)
  232. if 'SZB' in lzdname:
  233. slist6 = []
  234. if 'JE' in shp_szb:
  235. pass
  236. else:
  237. slist6.append(shp_szb)
  238. num0 = szlist1[nn4].split(',',-1)[1]
  239. num1 = szlist1[nn4].split(',',-1)[2]
  240. xhnum = int(num0.replace('J',''))
  241. slist6.append(num0)
  242. slist6.append(num1)
  243. slist6.append('')
  244. slist6.append(xhnum)
  245. list6.append(slist6)
  246. if 'SZD' in lzdname:
  247. slist6 = []
  248. if 'JE' in shp_szd:
  249. pass
  250. else:
  251. slist6.append(shp_szd)
  252. sznum = 0
  253. num0 = szlist1[nn4].split(',',-1)[1]
  254. num1 = szlist1[nn4].split(',',-1)[2]
  255. xhnum = int(num0.replace('J',''))
  256. slist6.append(num0)
  257. slist6.append(num1)
  258. slist6.append('')
  259. slist6.append(xhnum)
  260. list6.append(slist6)
  261. if 'SZN' in lzdname:
  262. slist6 = []
  263. if 'JE' in shp_szn:
  264. pass
  265. else:
  266. slist6.append(shp_szn)
  267. sznum = 0
  268. num0 = szlist1[nn4].split(',',-1)[1]
  269. num1 = szlist1[nn4].split(',',-1)[2]
  270. xhnum = int(num0.replace('J',''))
  271. slist6.append(num0)
  272. slist6.append(num1)
  273. slist6.append('')
  274. slist6.append(xhnum)
  275. list6.append(slist6)
  276. if 'SZX' in lzdname:
  277. slist6 = []
  278. if 'JE' in shp_szx:
  279. pass
  280. else:
  281. slist6.append(shp_szx)
  282. sznum = 0
  283. num0 = szlist1[nn4].split(',',-1)[1]
  284. num1 = szlist1[nn4].split(',',-1)[2]
  285. xhnum = int(num0.replace('J',''))
  286. slist6.append(num0)
  287. slist6.append(num1)
  288. slist6.append('')
  289. slist6.append(xhnum)
  290. list6.append(slist6)
  291. nn4 = nn4 + 1
  292. break
  293. else:
  294. mm4 = mm4 + 1
  295. list6.sort(key=takesixth)
  296. list61 = []
  297. list61 = chsf(list6,pcount)
  298. list6 = []
  299. if len(list61) == 1:
  300. slist6 = []
  301. slist6.append(list61[0][0])
  302. slist6.append('J1')
  303. slist6.append('J' +str(pcount))
  304. list6.append(slist6)
  305. slist6 = []
  306. slist6.append(list61[0][0])
  307. slist6.append('J' +str(pcount))
  308. slist6.append('J1')
  309. list6.append(slist6)
  310. else:
  311. list6 = list61
  312. kk1 = 0
  313. pd1 = 0
  314. list8 = []
  315. list10 = []
  316. qlrname = []
  317. while kk1 < len(list6):
  318. try:
  319. str5 = list6[kk1][0].value
  320. qlrna = str5.split('(',-1)[0]
  321. except:
  322. str5 = list6[kk1][0]
  323. qlrna = str5.split('(',-1)[0]
  324. #除重
  325. if qlrna in qlrname:
  326. pass
  327. else:
  328. qlrname.append(qlrna)
  329. ii2 = 0
  330. while ii2 < len(shplist):
  331. list7 = shplist[ii2]
  332. slist8 = []
  333. if list7['权利人'] == qlrna:
  334. slist8.append(qlrna)
  335. zdbdh = list7['电话']
  336. slist8.append(zdbdh)
  337. list8.append(slist8)
  338. pd1 = 1
  339. break
  340. ii2 = ii2 + 1
  341. if pd1 == 0:
  342. slist8.append(qlrna)
  343. slist8.append('')
  344. list8.append(slist8)
  345. ii3 = 0
  346. while ii3 < hjt.nrows:
  347. str6 = hjt.cell(ii3, 3).value
  348. if str6 == qlrna:
  349. slist10 = []
  350. slist10.append(qlrna)
  351. #把上面读的电话读进来
  352. kk2 = 0
  353. while kk2 < len(list8):
  354. if list8[kk2][0] == qlrna:
  355. slist10.append(list8[kk2][1])
  356. break
  357. else:
  358. kk2 = kk2 + 1
  359. slist10.append(hjt.cell(ii3, 9).value)
  360. list10.append(slist10)
  361. break
  362. ii3 = ii3 + 1
  363. kk1 = kk1 + 1
  364. #读到四至点
  365. aa2 = 0
  366. bdd = ''
  367. dnd = ''
  368. nxd = ''
  369. xbd = ''
  370. while aa2 < len(szdlist):
  371. zdbh2 = szdlist[aa2][0]
  372. if zdbh2 == zdh:
  373. xbd = szdlist[aa2][1]
  374. bdd = szdlist[aa2][2]
  375. dnd = szdlist[aa2][3]
  376. nxd = szdlist[aa2][4]
  377. break
  378. else:
  379. aa2 = aa2 + 1
  380. bddh = int(bdd.replace('J',''))
  381. dndh = int(dnd.replace('J',''))
  382. nxdh = int(nxd.replace('J',''))
  383. xbdh = int(xbd.replace('J',''))
  384. zds = len(list6)
  385. qlrs = len(list10)
  386. if cys < 7:
  387. if qlrs >= 7 or zds > 10:
  388. doc = doc2
  389. else:
  390. doc = doc1
  391. else:
  392. if qlrs >= 7 or zds > 10:
  393. doc = doc4
  394. else:
  395. doc = doc3
  396. #把其他内容补齐
  397. #lx为1则为集体,0是个人
  398. lx = 0
  399. if '集体' in qlr:
  400. lx = 1
  401. # 获取调查时间
  402. # dcsj = str(list1['调查日期'])
  403. # 拆分成年月日
  404. # try:
  405. # dcyear = dcsj.split('-', -1)[0]
  406. # dcmonth = dcsj.split('-', -1)[1]
  407. # dcday = dcsj.split('-', -1)[2]
  408. # except:
  409. # try:
  410. # dcyear = dcsj.split('/', -1)[0]
  411. # dcmonth = dcsj.split('/', -1)[1]
  412. # dcdays = dcsj.split('/', -1)[2]
  413. # dcday = dcdays.replace('\n','')
  414. # except:
  415. # dcyear = dcsj[0:4]
  416. # dcmonth = dcsj[4:6]
  417. # dcday = dcsj[6:8]
  418. # dc_nyr = dcyear + '年 ' + dcmonth + '月 ' + dcday + '日'
  419. dc_nyr = '2022年8月25日'
  420. # 调查员
  421. dcy = list1['调查员']
  422. # 坐落
  423. # 如果包含括号去掉括号部分
  424. zl = list1['坐落']
  425. if "(" in zl:
  426. zl_1 = zl.split('(', -1)[0]
  427. elif "(" in zl:
  428. zl_1 = zl.split('(', -1)[0]
  429. else:
  430. zl_1 = zl
  431. # 权属来源
  432. qsly = list1['权属来源']
  433. # 来源编号
  434. lybh = list1['来源编号']
  435. # 现面积()保留两位
  436. now_area = str(round(float(list1['面积']), 2))
  437. # 转换成亩()保留两位
  438. now_area_m = str(round((float(list1['面积']) * 0.0015), 2))
  439. # 终止日期(如果为空,则为‘长期’)
  440. zz_date = str(list1['终止日期'])
  441. qs_date = str(list1['起始日期'])
  442. # if zz_date == 'None' or zz_date == '长期' or zz_date == None:
  443. # # 则为长期
  444. # zz_nyr = '长期'
  445. # else:
  446. # zzyear = zz_date.split('-', -1)[0]
  447. # zzmonth = zz_date.split('-', -1)[1]
  448. # zzday = zz_date.split('-', -1)[2]
  449. # zz_nyr = zzyear + '年 ' + zzmonth + '月 ' + zzday + '日止'
  450. zz_nyr = '长期'
  451. # 权利人电话
  452. qlrtel = list1["电话"]
  453. # 造林年度
  454. zlnd = list1['造林年度']
  455. # 小地名
  456. xdm = list1['小地名']
  457. # 林班
  458. lb = list1["林班"]
  459. # 小班
  460. xb = list1["小班"]
  461. # 起源
  462. qy = list1["起源"]
  463. # 株数
  464. zs = list1["株数"]
  465. # 主要树种
  466. zysz = list1["主要树种"]
  467. # 林种
  468. lz = list1['林种']
  469. # 证载面积
  470. zzmj = str(list1['证载面积'])
  471. # 证载四至
  472. zzb = list1['证四至北']
  473. zzd = list1['证四至东']
  474. zzn = list1['证四至南']
  475. zzx = list1['证四至西']
  476. #法人信息
  477. frxm = list1['法人']
  478. frzjlx = list1['法人证件']
  479. frzjh = list1['法人证号']
  480. frdh = list1['法人电话']
  481. #所有权(后期新增)
  482. syq = list1['所有权']
  483. #备注相关
  484. # yzqlr = list1['原证权利人']
  485. yzqlr = list1['原证权']
  486. bz = list1['备注1']
  487. bzstr = ''
  488. if bz == '已故':
  489. bzstr = '原证载权利人' + yzqlr + '已故,由' + qlr + '继承' + ';'
  490. elif bz == '变更':
  491. bzstr = '原证载权利人' + yzqlr + '户籍户主已变更,更改为' + qlr + ';'
  492. else:
  493. bzstr = ''
  494. # 联动对应户籍表数据
  495. mm = 0
  496. list2 = []
  497. while mm < hjt.nrows:
  498. str1 = hjt.cell(mm, 4).value
  499. if str1 == hbm:
  500. nn = 0
  501. while nn < 13:
  502. # 把那一行的数据读出来
  503. list2.append(hjt.cell(mm, nn).value)
  504. nn = nn + 1
  505. break
  506. else:
  507. mm = mm + 1
  508. # 联动界址点shp
  509. mm3 = 0
  510. list5 = []
  511. while mm3 < len(jzdlist):
  512. plist = jzdlist[mm3]
  513. zddm = plist['ZDBH']
  514. if zddm == zdh:
  515. slist5 = []
  516. slist5.append(plist['JZDH'])
  517. slist5.append(plist['xx'])
  518. slist5.append(plist['yy'])
  519. list5.append(slist5)
  520. mm3 = mm3 + 1
  521. else:
  522. mm3 = mm3 + 1
  523. # 联动读取图幅号
  524. mm5 = 0
  525. tfh = ''
  526. while mm5 < len(tflist):
  527. zddm4 = tflist[mm5][0]
  528. if zddm4 == zdh:
  529. tfhs = tflist[mm5][1]
  530. tfh = tfhs.replace('\n','')
  531. break
  532. else:
  533. mm5 = mm5 + 1
  534. #endregion
  535. #region [第一张表]
  536. #开始写
  537. for paragraph in doc.paragraphs:
  538. parstr = paragraph.text
  539. if '不动产权籍调查表' in parstr:
  540. for paragraph in doc.paragraphs:
  541. for run in paragraph.runs:
  542. if '不动产权籍调查表' in run.text:
  543. run.font.size = Pt(26)
  544. run.font.name = "黑体"
  545. # 设置像黑体这样的中文字体,必须添加下面 2 行代码
  546. r = run._element.rPr.rFonts
  547. r.set(qn("w:eastAsia"), "黑体")
  548. if '宗海代码' in parstr:
  549. paragraph.text = '宗 地/宗海代码:' + zdh
  550. for paragraph in doc.paragraphs:
  551. for run in paragraph.runs:
  552. if '宗海代码' in run.text:
  553. run.font.size = Pt(16)
  554. run.font.name = "黑体"
  555. # 设置像黑体这样的中文字体,必须添加下面 2 行代码
  556. r = run._element.rPr.rFonts
  557. r.set(qn("w:eastAsia"), "黑体")
  558. if '调查时间' in parstr:
  559. # paragraph.text = '调查时间:' + dc_nyr
  560. paragraph.text = '调查时间:' + dc_nyr
  561. for paragraph in doc.paragraphs:
  562. for run in paragraph.runs:
  563. if '调查时间' in run.text:
  564. run.font.size = Pt(15)
  565. run.font.name = "黑体"
  566. # 设置像黑体这样的中文字体,必须添加下面 2 行代码
  567. r = run._element.rPr.rFonts
  568. r.set(qn("w:eastAsia"), "黑体")
  569. if '调查员' in parstr:
  570. paragraph.text = '调查员:' + dcy + '\t\t\t\t\t\t\t\t\t\t\t\t\t' + '日期:' + dc_nyr
  571. # paragraph.text = '调查员:' + dcy + '\t\t\t\t\t\t\t\t\t\t\t\t\t' + '日期:2022年11月25日'
  572. # paragraph.text = '调查员:李阳\t\t\t\t\t\t\t\t\t\t\t\t\t' + '日期:2022年8月25日'
  573. paragraph.style.font.name = '宋体'
  574. paragraph.style.font.size = Pt(10.5)
  575. table1 = doc.tables[0]
  576. # 这里自动清空内容
  577. # 所有权
  578. table1.cell(1, 3).paragraphs[0].text = ''
  579. run = table1.cell(1,3).paragraphs[0].add_run(syq)
  580. run.font.name = '仿宋'
  581. run.font.size = Pt(10.5)
  582. r = run._element
  583. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  584. # 权利人
  585. table1.cell(2, 3).paragraphs[0].text = ''
  586. run = table1.cell(2, 3).paragraphs[0].add_run(qlr)
  587. run.font.name = '仿宋'
  588. run.font.size = Pt(10.5)
  589. r = run._element
  590. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  591. if lx == 1:
  592. #集体
  593. #权力性质
  594. table1.cell(6, 10).paragraphs[0].text = ''
  595. run = table1.cell(6, 10).paragraphs[0].add_run('其他方式承包')
  596. run.font.name = '仿宋'
  597. run.font.size = Pt(10.5)
  598. r = run._element
  599. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  600. #法人信息
  601. table1.cell(9,5).paragraphs[0].text = ''
  602. run = table1.cell(9, 5).paragraphs[0].add_run(frxm)
  603. run.font.name = '仿宋'
  604. run.font.size = Pt(10.5)
  605. r = run._element
  606. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  607. table1.cell(8, 10).paragraphs[0].text = ''
  608. run = table1.cell(8, 10).paragraphs[0].add_run(frzjlx)
  609. run.font.name = '仿宋'
  610. run.font.size = Pt(10.5)
  611. r = run._element
  612. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  613. table1.cell(9,10).paragraphs[0].text = ''
  614. run = table1.cell(9, 10).paragraphs[0].add_run(frzjh)
  615. run.font.name = '仿宋'
  616. run.font.size = Pt(10.5)
  617. r = run._element
  618. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  619. table1.cell(9, 17).paragraphs[0].text = ''
  620. run = table1.cell(9, 17).paragraphs[0].add_run(frdh)
  621. run.font.name = '仿宋'
  622. run.font.size = Pt(10.5)
  623. r = run._element
  624. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  625. else:
  626. #权力性质
  627. table1.cell(6, 10).paragraphs[0].text = ''
  628. run = table1.cell(6, 10).paragraphs[0].add_run('家庭承包')
  629. run.font.name = '仿宋'
  630. run.font.size = Pt(10.5)
  631. r = run._element
  632. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  633. #法人信息
  634. table1.cell(9,5).paragraphs[0].text = ''
  635. run = table1.cell(9, 5).paragraphs[0].add_run('/')
  636. run.font.name = '仿宋'
  637. run.font.size = Pt(10.5)
  638. r = run._element
  639. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  640. table1.cell(8, 10).paragraphs[0].text = ''
  641. run = table1.cell(8, 10).paragraphs[0].add_run('/')
  642. run.font.name = '仿宋'
  643. run.font.size = Pt(10.5)
  644. r = run._element
  645. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  646. table1.cell(9,10).paragraphs[0].text = ''
  647. run = table1.cell(9, 10).paragraphs[0].add_run('/')
  648. run.font.name = '仿宋'
  649. run.font.size = Pt(10.5)
  650. r = run._element
  651. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  652. table1.cell(9, 17).paragraphs[0].text = ''
  653. run = table1.cell(9, 17).paragraphs[0].add_run('/')
  654. run.font.name = '仿宋'
  655. run.font.size = Pt(10.5)
  656. r = run._element
  657. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  658. # 土地权属来源证明材料
  659. table1.cell(6, 15).paragraphs[0].text = ''
  660. run = table1.cell(6, 15).paragraphs[0].add_run(qsly + '\n' + lybh)
  661. run.font.name = '仿宋'
  662. run.font.size = Pt(10.5)
  663. r = run._element
  664. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  665. # 土地坐落
  666. table1.cell(7, 3).paragraphs[0].text = ''
  667. run = table1.cell(7, 3).paragraphs[0].add_run(zl)
  668. run.font.name = '仿宋'
  669. run.font.size = Pt(10.5)
  670. r = run._element
  671. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  672. # 宗地代码
  673. table1.cell(14, 15).paragraphs[0].text = ''
  674. run = table1.cell(14, 15).paragraphs[0].add_run(zdh)
  675. run.font.name = '仿宋'
  676. run.font.size = Pt(10.5)
  677. r = run._element
  678. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  679. # 图幅号
  680. table1.cell(17, 10).paragraphs[0].text = ''
  681. run = table1.cell(17, 10).paragraphs[0].add_run(tfh)
  682. run.font.name = '仿宋'
  683. run.font.size = Pt(10.5)
  684. r = run._element
  685. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  686. # 比例尺
  687. table1.cell(16, 10).paragraphs[0].text = ''
  688. run = table1.cell(16, 10).paragraphs[0].add_run("1:2000")
  689. run.font.name = '仿宋'
  690. run.font.size = Pt(10.5)
  691. r = run._element
  692. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  693. # 新四至
  694. table1.cell(18, 5).paragraphs[0].text = ''
  695. run = table1.cell(18, 5).paragraphs[0].add_run("北:" + shp_szb)
  696. run.font.name = '仿宋'
  697. run.font.size = Pt(10.5)
  698. r = run._element
  699. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  700. table1.cell(19, 5).paragraphs[0].text = ''
  701. run = table1.cell(19, 5).paragraphs[0].add_run("东:" + shp_szd)
  702. run.font.name = '仿宋'
  703. run.font.size = Pt(10.5)
  704. r = run._element
  705. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  706. table1.cell(20, 5).paragraphs[0].text = ''
  707. run = table1.cell(20, 5).paragraphs[0].add_run("南:" + shp_szn)
  708. run.font.name = '仿宋'
  709. run.font.size = Pt(10.5)
  710. r = run._element
  711. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  712. table1.cell(21, 5).paragraphs[0].text = ''
  713. run = table1.cell(21, 5).paragraphs[0].add_run("西:" + shp_szx)
  714. run.font.name = '仿宋'
  715. run.font.size = Pt(10.5)
  716. r = run._element
  717. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  718. # 现宗地面积
  719. table1.cell(25, 10).paragraphs[0].text = ''
  720. run = table1.cell(25, 10).paragraphs[0].add_run(now_area)
  721. run.font.name = '仿宋'
  722. run.font.size = Pt(10.5)
  723. r = run._element
  724. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  725. # 土地使用期限
  726. table1.cell(27, 10).paragraphs[0].text = ''
  727. run = table1.cell(27, 10).paragraphs[0].add_run(zz_nyr)
  728. run.font.name = '仿宋'
  729. run.font.size = Pt(10.5)
  730. r = run._element
  731. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  732. #清空家庭成员表
  733. if doc == doc1 or doc == doc3:
  734. xx0 = 0
  735. try:
  736. while xx0 < 5:
  737. table1.cell((30+xx0), 4).paragraphs[0].text = ''
  738. table1.cell((30+xx0), 5).paragraphs[0].text = ''
  739. table1.cell((30+xx0), 17).paragraphs[0].text = ''
  740. xx0 = xx0 + 1
  741. except:
  742. pass
  743. else:
  744. table1.cell(30, 5).paragraphs[0].text = ''
  745. # 如果没有匹配上的,不影响其他运行
  746. if list2 == []:
  747. print(hbm + ' 无户籍数据对应,请检查。')
  748. else:
  749. if lx == 0:
  750. # 权利人类型
  751. table1.cell(2, 13).paragraphs[0].text = ''
  752. run = table1.cell(2, 13).paragraphs[0].add_run('个人')
  753. run.font.name = '仿宋'
  754. run.font.size = Pt(10.5)
  755. r = run._element
  756. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  757. # 证件类型
  758. table1.cell(3, 13).paragraphs[0].text = ''
  759. run = table1.cell(3, 13).paragraphs[0].add_run('身份证')
  760. run.font.name = '仿宋'
  761. run.font.size = Pt(10.5)
  762. r = run._element
  763. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  764. # 证件号
  765. table1.cell(4, 13).paragraphs[0].text = ''
  766. run = table1.cell(4, 13).paragraphs[0].add_run(list2[9])
  767. run.font.name = '仿宋'
  768. run.font.size = Pt(10.5)
  769. r = run._element
  770. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  771. # 通讯地址(户口所在地)
  772. table1.cell(5, 13).paragraphs[0].text = ''
  773. run = table1.cell(5, 13).paragraphs[0].add_run(list2[10])
  774. run.font.name = '仿宋'
  775. run.font.size = Pt(10.5)
  776. r = run._element
  777. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  778. else:
  779. # 权利人类型
  780. table1.cell(2, 13).paragraphs[0].text = ''
  781. run = table1.cell(2, 13).paragraphs[0].add_run('其他')
  782. run.font.name = '仿宋'
  783. run.font.size = Pt(10.5)
  784. r = run._element
  785. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  786. # 证件类型
  787. table1.cell(3, 13).paragraphs[0].text = ''
  788. run = table1.cell(3, 13).paragraphs[0].add_run('/')
  789. run.font.name = '仿宋'
  790. run.font.size = Pt(10.5)
  791. r = run._element
  792. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  793. # 证件号
  794. table1.cell(4, 13).paragraphs[0].text = ''
  795. run = table1.cell(4, 13).paragraphs[0].add_run('/')
  796. run.font.name = '仿宋'
  797. run.font.size = Pt(10.5)
  798. r = run._element
  799. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  800. # 通讯地址(户口所在地)
  801. try:
  802. table1.cell(5, 13).paragraphs[0].text = ''
  803. run = table1.cell(5, 13).paragraphs[0].add_run(list2[10])
  804. run.font.name = '仿宋'
  805. run.font.size = Pt(10.5)
  806. r = run._element
  807. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  808. except:
  809. print(zdh + 'address Error')
  810. if doc == doc1 or doc == doc2:
  811. #6个人及以下
  812. if zzb ==''and zzd=='' and zzn =='' and zzx == '':
  813. table1.cell(35, 5).paragraphs[0].text = ''
  814. run = table1.cell(35, 5).paragraphs[0].add_run('')
  815. run.font.name = '仿宋'
  816. run.font.size = Pt(10.5)
  817. r = run._element
  818. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  819. else:
  820. table1.cell(35, 5).paragraphs[0].text = ''
  821. run = table1.cell(35, 5).paragraphs[0].add_run(bzstr + '该户原林权证证载宗地四至是' + \
  822. ";东:" + zzd + ";南:" + zzn + ";西:" + zzx + "。原林权证证载面积" + zzmj + "亩。")
  823. run.font.name = '仿宋'
  824. run.font.size = Pt(10.5)
  825. r = run._element
  826. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  827. if list4 == []:
  828. print(hbm + ' 无家庭成员数据对应,请检查。')
  829. elif len(list4) == 1:
  830. # 只有户主一个人的,不填写
  831. pass
  832. else:
  833. pp = 1
  834. while pp < len(list4):
  835. run = table1.cell((29 + pp), 4).paragraphs[0].add_run(list4[(pp)][2])
  836. run.font.name = '仿宋'
  837. run.font.size = Pt(10.5)
  838. r = run._element
  839. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  840. run = table1.cell((29 + pp), 5).paragraphs[0].add_run(list4[(pp)][4])
  841. run.font.name = '仿宋'
  842. run.font.size = Pt(10.5)
  843. r = run._element
  844. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  845. try:
  846. run = table1.cell((29 + pp), 17).paragraphs[0].add_run(list4[(pp)][3])
  847. run.font.name = '仿宋'
  848. run.font.size = Pt(10.5)
  849. r = run._element
  850. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  851. except:
  852. table1.cell((29 + pp), 17).paragraphs[0].text = ''
  853. pp = pp + 1
  854. else:
  855. #6个人以上
  856. if zzb ==''and zzd=='' and zzn =='' and zzx == '':
  857. table1.cell(30, 5).paragraphs[0].text = ''
  858. else:
  859. table1.cell(30, 5).paragraphs[0].text = ''
  860. run = table1.cell(30, 5).paragraphs[0].add_run(bzstr + '该户原林权证证载宗地四至是' + "北:" + zzb + \
  861. ";东:" + zzd + ";南:" + zzn + ";西:" + zzx + "。原林权证证载面积" + zzmj + "亩。")
  862. run.font.name = '仿宋'
  863. run.font.size = Pt(10.5)
  864. r = run._element
  865. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  866. jtcystr = ''
  867. pp = 1
  868. while pp < len(list4):
  869. str2 = list4[(pp)][2] + ',' + list4[(pp)][3] + ',' + list4[(pp)][4] + ';\n'
  870. jtcystr = jtcystr + str2
  871. pp = pp + 1
  872. table1.cell(29, 5).paragraphs[0].text = jtcystr
  873. #endregion
  874. #region [第二张表]
  875. #这里开始都不能固定
  876. listc5 = len(list5)
  877. kk3 = 0
  878. kk5 = listc5 // 21
  879. kk4 = listc5 % 21
  880. if kk4 == 0:
  881. kk3 = kk5
  882. else:
  883. kk3 = kk5 + 1
  884. if kk3 < 2:
  885. table2 = doc.tables[1]
  886. dg = table2.cell(3, 5).paragraphs[0].text
  887. if skk3 < 2:
  888. #只是清空
  889. bb0 = 0
  890. table2 = doc.tables[1]
  891. while bb0 < 21:
  892. try:
  893. table2.cell(((bb0 * 2) + 3), 0).paragraphs[0].text = ''
  894. table2.cell(((bb0 * 2) + 3), 5).paragraphs[0].text = ''
  895. table2.cell(((bb0 * 2) + 4), 7).paragraphs[0].text = ''
  896. table2.cell(((bb0 * 2) + 4), 14).paragraphs[0].text = ''
  897. table2.cell(((bb0 * 2) + 4), 16).paragraphs[0].text = ''
  898. table2.cell(((bb0 * 2) + 4), 17).paragraphs[0].text = ''
  899. table2.cell(((bb0 * 2) + 4), 18).paragraphs[0].text = ''
  900. bb0 = bb0 + 1
  901. except:
  902. bb0 = bb0 + 1
  903. #记得最后一行特殊的也要删除
  904. table2.cell(44, 0).paragraphs[0].text = ''
  905. table2.cell(44, 5).paragraphs[0].text = ''
  906. table2.cell(43, 7).paragraphs[0].text = ''
  907. table2.cell(43, 14).paragraphs[0].text = ''
  908. table2.cell(43, 16).paragraphs[0].text = ''
  909. table2.cell(43, 17).paragraphs[0].text = ''
  910. table2.cell(43, 18).paragraphs[0].text = ''
  911. else:
  912. #删的只剩一个表
  913. nn3 = 1
  914. while nn3 < skk3:
  915. paragraph = doc.paragraphs[31]
  916. tables = doc.tables[2]
  917. tables._element.getparent().remove(tables._element)
  918. p = paragraph._element
  919. p.getparent().remove(p)
  920. nn3 = nn3 + 1
  921. doc.save(out_docpath)
  922. #清空表
  923. table2 = doc.tables[1]
  924. bb0 = 0
  925. while bb0 < 21:
  926. try:
  927. table2.cell(((bb0 * 2) + 3), 0).paragraphs[0].text = ''
  928. table2.cell(((bb0 * 2) + 3), 5).paragraphs[0].text = ''
  929. table2.cell(((bb0 * 2) + 4), 7).paragraphs[0].text = ''
  930. table2.cell(((bb0 * 2) + 4), 14).paragraphs[0].text = ''
  931. table2.cell(((bb0 * 2) + 4), 16).paragraphs[0].text = ''
  932. table2.cell(((bb0 * 2) + 4), 17).paragraphs[0].text = ''
  933. table2.cell(((bb0 * 2) + 4), 18).paragraphs[0].text = ''
  934. bb0 = bb0 + 1
  935. except:
  936. bb0 = bb0 + 1
  937. #记得最后一行特殊的也要删除
  938. table2.cell(44, 0).paragraphs[0].text = ''
  939. table2.cell(44, 5).paragraphs[0].text = ''
  940. table2.cell(43, 7).paragraphs[0].text = ''
  941. table2.cell(43, 14).paragraphs[0].text = ''
  942. table2.cell(43, 16).paragraphs[0].text = ''
  943. table2.cell(43, 17).paragraphs[0].text = ''
  944. table2.cell(43, 18).paragraphs[0].text = ''
  945. skk3 = kk3
  946. aa = 0
  947. while aa < len(list5):
  948. try:
  949. run = table2.cell(((aa * 2) + 3), 0).paragraphs[0].add_run(str(list5[aa][0]))
  950. run.font.name = '仿宋'
  951. run.font.size = Pt(10.5)
  952. r = run._element
  953. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  954. if aa == len(list5) - 1:
  955. run = table2.cell(((aa * 2) + 3), 5).paragraphs[0].add_run(dg)
  956. run.font.name = '仿宋'
  957. run.font.size = Pt(10.5)
  958. r = run._element
  959. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  960. else:
  961. #计算间距
  962. xc = abs(list5[aa+1][1] - list5[aa][1])
  963. yc = abs(list5[aa+1][2] - list5[aa][2])
  964. xxc = xc * xc
  965. yyc = yc * yc
  966. dis = round(math.sqrt(xxc + yyc),2)
  967. run = table2.cell(((aa * 2) + 3), 5).paragraphs[0].add_run(dg)
  968. run.font.name = '仿宋'
  969. run.font.size = Pt(10.5)
  970. r = run._element
  971. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  972. run = table2.cell(((aa * 2) + 4), 7).paragraphs[0].add_run(str(dis))
  973. run.font.name = '仿宋'
  974. run.font.size = Pt(10.5)
  975. r = run._element
  976. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  977. run = table2.cell(((aa * 2) + 4), 14).paragraphs[0].add_run(dg)
  978. run.font.name = '仿宋'
  979. run.font.size = Pt(10.5)
  980. r = run._element
  981. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  982. run = table2.cell(((aa * 2) + 4), 17).paragraphs[0].add_run(dg)
  983. run.font.name = '仿宋'
  984. run.font.size = Pt(10.5)
  985. r = run._element
  986. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  987. aa = aa + 1
  988. except:
  989. aa = aa + 1
  990. try:
  991. run = table2.cell(((aa * 2) + 3), 0).paragraphs[0].add_run(str(list5[0][0]))
  992. run.font.name = '仿宋'
  993. run.font.size = Pt(10.5)
  994. r = run._element
  995. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  996. #计算间距
  997. xc = abs(list5[len(list5)-1][1] - list5[0][1])
  998. yc = abs(list5[len(list5)-1][2] - list5[0][2])
  999. xxc = xc * xc
  1000. yyc = yc * yc
  1001. dis = round(math.sqrt(xxc + yyc),2)
  1002. run = table2.cell(((aa * 2) + 3), 5).paragraphs[0].add_run(dg)
  1003. run.font.name = '仿宋'
  1004. run.font.size = Pt(10.5)
  1005. r = run._element
  1006. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1007. run = table2.cell(((aa * 2) + 2), 7).paragraphs[0].add_run(str(dis))
  1008. run.font.name = '仿宋'
  1009. run.font.size = Pt(10.5)
  1010. r = run._element
  1011. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1012. run = table2.cell(((aa * 2) + 2), 14).paragraphs[0].add_run(dg)
  1013. run.font.name = '仿宋'
  1014. run.font.size = Pt(10.5)
  1015. r = run._element
  1016. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1017. run = table2.cell(((aa * 2) + 2), 17).paragraphs[0].add_run(dg)
  1018. run.font.name = '仿宋'
  1019. run.font.size = Pt(10.5)
  1020. r = run._element
  1021. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1022. except:
  1023. #刚好是在最后一行的那个(固定位置)
  1024. run = table2.cell(44, 0).paragraphs[0].add_run(str(list5[0][0]))
  1025. run.font.name = '仿宋'
  1026. run.font.size = Pt(10.5)
  1027. r = run._element
  1028. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1029. #计算间距
  1030. xc = abs(list5[len(list5)-1][1] - list5[0][1])
  1031. yc = abs(list5[len(list5)-1][2] - list5[0][2])
  1032. xxc = xc * xc
  1033. yyc = yc * yc
  1034. dis = round(math.sqrt(xxc + yyc),2)
  1035. run = table2.cell(44, 5).paragraphs[0].add_run(dg)
  1036. run.font.name = '仿宋'
  1037. run.font.size = Pt(10.5)
  1038. r = run._element
  1039. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1040. run = table2.cell(43, 7).paragraphs[0].add_run(str(dis))
  1041. run.font.name = '仿宋'
  1042. run.font.size = Pt(10.5)
  1043. r = run._element
  1044. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1045. run = table2.cell(43, 14).paragraphs[0].add_run(dg)
  1046. run.font.name = '仿宋'
  1047. run.font.size = Pt(10.5)
  1048. r = run._element
  1049. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1050. run = table2.cell(43, 17).paragraphs[0].add_run(dg)
  1051. run.font.name = '仿宋'
  1052. run.font.size = Pt(10.5)
  1053. r = run._element
  1054. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1055. else:
  1056. table2 = doc.tables[1]
  1057. dg = table2.cell(3, 5).paragraphs[0].text
  1058. if skk3 < 2:
  1059. #只是清空
  1060. bb0 = 0
  1061. table2 = doc.tables[1]
  1062. while bb0 < 21:
  1063. try:
  1064. table2.cell(((bb0 * 2) + 3), 0).paragraphs[0].text = ''
  1065. table2.cell(((bb0 * 2) + 3), 5).paragraphs[0].text = ''
  1066. table2.cell(((bb0 * 2) + 4), 7).paragraphs[0].text = ''
  1067. table2.cell(((bb0 * 2) + 4), 14).paragraphs[0].text = ''
  1068. table2.cell(((bb0 * 2) + 4), 16).paragraphs[0].text = ''
  1069. table2.cell(((bb0 * 2) + 4), 17).paragraphs[0].text = ''
  1070. table2.cell(((bb0 * 2) + 4), 18).paragraphs[0].text = ''
  1071. bb0 = bb0 + 1
  1072. except:
  1073. bb0 = bb0 + 1
  1074. #记得最后一行特殊的也要删除
  1075. table2.cell(44, 0).paragraphs[0].text = ''
  1076. table2.cell(44, 5).paragraphs[0].text = ''
  1077. table2.cell(43, 7).paragraphs[0].text = ''
  1078. table2.cell(43, 14).paragraphs[0].text = ''
  1079. table2.cell(43, 16).paragraphs[0].text = ''
  1080. table2.cell(43, 17).paragraphs[0].text = ''
  1081. table2.cell(43, 18).paragraphs[0].text = ''
  1082. else:
  1083. #删的只剩一个表
  1084. nn3 = 1
  1085. while nn3 < skk3:
  1086. paragraph = doc.paragraphs[31]
  1087. tables = doc.tables[2]
  1088. tables._element.getparent().remove(tables._element)
  1089. p = paragraph._element
  1090. p.getparent().remove(p)
  1091. nn3 = nn3 + 1
  1092. doc.save(out_docpath)
  1093. #清空表
  1094. table2 = doc.tables[1]
  1095. bb0 = 0
  1096. while bb0 < 21:
  1097. try:
  1098. table2.cell(((bb0 * 2) + 3), 0).paragraphs[0].text = ''
  1099. table2.cell(((bb0 * 2) + 3), 5).paragraphs[0].text = ''
  1100. table2.cell(((bb0 * 2) + 4), 7).paragraphs[0].text = ''
  1101. table2.cell(((bb0 * 2) + 4), 14).paragraphs[0].text = ''
  1102. table2.cell(((bb0 * 2) + 4), 16).paragraphs[0].text = ''
  1103. table2.cell(((bb0 * 2) + 4), 17).paragraphs[0].text = ''
  1104. table2.cell(((bb0 * 2) + 4), 18).paragraphs[0].text = ''
  1105. bb0 = bb0 + 1
  1106. except:
  1107. bb0 = bb0 + 1
  1108. #记得最后一行特殊的也要删除
  1109. table2.cell(44, 0).paragraphs[0].text = ''
  1110. table2.cell(44, 5).paragraphs[0].text = ''
  1111. table2.cell(43, 7).paragraphs[0].text = ''
  1112. table2.cell(43, 14).paragraphs[0].text = ''
  1113. table2.cell(43, 16).paragraphs[0].text = ''
  1114. table2.cell(43, 17).paragraphs[0].text = ''
  1115. table2.cell(43, 18).paragraphs[0].text = ''
  1116. skk3 = kk3
  1117. #先加table
  1118. aa0 = 1
  1119. while aa0 < kk3:
  1120. table2 = doc.tables[1]
  1121. new_t = deepcopy(table2)
  1122. paragraph = doc.paragraphs[31]
  1123. paragraph.insert_paragraph_before(text=None,style=None)
  1124. paragraph._p.addnext(new_t._element)
  1125. aa0 = aa0 + 1
  1126. #分批次把内容加上
  1127. aa = 0
  1128. a21 = 21
  1129. aa1 = 0
  1130. while aa < len(list5):
  1131. if a21 == 21:
  1132. try:
  1133. if aa == 0:
  1134. pass
  1135. else:
  1136. #写在前一张表上
  1137. run = table2.cell(44, 0).paragraphs[0].add_run(str(list5[aa][0]))
  1138. run.font.name = '仿宋'
  1139. run.font.size = Pt(10.5)
  1140. r = run._element
  1141. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1142. run = table2.cell(44, 5).paragraphs[0].add_run(dg)
  1143. run.font.name = '仿宋'
  1144. run.font.size = Pt(10.5)
  1145. r = run._element
  1146. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1147. #下一张表
  1148. a21 = 0
  1149. table2 = doc.tables[1 + aa1]
  1150. aa1 = aa1 + 1
  1151. run = table2.cell(((a21 * 2) + 3), 0).paragraphs[0].add_run(str(list5[aa][0]))
  1152. run.font.name = '仿宋'
  1153. run.font.size = Pt(10.5)
  1154. r = run._element
  1155. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1156. if aa == len(list5) - 1:
  1157. run = table2.cell(((a21 * 2) + 3), 5).paragraphs[0].add_run(dg)
  1158. run.font.name = '仿宋'
  1159. run.font.size = Pt(10.5)
  1160. r = run._element
  1161. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1162. else:
  1163. #计算间距
  1164. xc = abs(list5[aa+1][1] - list5[aa][1])
  1165. yc = abs(list5[aa+1][2] - list5[aa][2])
  1166. xxc = xc * xc
  1167. yyc = yc * yc
  1168. dis = round(math.sqrt(xxc + yyc),2)
  1169. run = table2.cell(((a21 * 2) + 3), 5).paragraphs[0].add_run(dg)
  1170. run.font.name = '仿宋'
  1171. run.font.size = Pt(10.5)
  1172. r = run._element
  1173. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1174. run = table2.cell(((a21 * 2) + 4), 7).paragraphs[0].add_run(str(dis))
  1175. run.font.name = '仿宋'
  1176. run.font.size = Pt(10.5)
  1177. r = run._element
  1178. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1179. run = table2.cell(((a21 * 2) + 4), 14).paragraphs[0].add_run(dg)
  1180. run.font.name = '仿宋'
  1181. run.font.size = Pt(10.5)
  1182. r = run._element
  1183. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1184. run = table2.cell(((a21 * 2) + 4), 17).paragraphs[0].add_run(dg)
  1185. run.font.name = '仿宋'
  1186. run.font.size = Pt(10.5)
  1187. r = run._element
  1188. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1189. aa = aa + 1
  1190. except:
  1191. aa = aa + 1
  1192. else:
  1193. try:
  1194. run = table2.cell(((a21 * 2) + 3), 0).paragraphs[0].add_run(str(list5[aa][0]))
  1195. run.font.name = '仿宋'
  1196. run.font.size = Pt(10.5)
  1197. r = run._element
  1198. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1199. if aa == len(list5) - 1:
  1200. run = table2.cell(((a21 * 2) + 3), 5).paragraphs[0].add_run(dg)
  1201. run.font.name = '仿宋'
  1202. run.font.size = Pt(10.5)
  1203. r = run._element
  1204. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1205. else:
  1206. #计算间距
  1207. xc = abs(list5[aa+1][1] - list5[aa][1])
  1208. yc = abs(list5[aa+1][2] - list5[aa][2])
  1209. xxc = xc * xc
  1210. yyc = yc * yc
  1211. dis = round(math.sqrt(xxc + yyc),2)
  1212. run = table2.cell(((a21 * 2) + 3), 5).paragraphs[0].add_run(dg)
  1213. run.font.name = '仿宋'
  1214. run.font.size = Pt(10.5)
  1215. r = run._element
  1216. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1217. run = table2.cell(((a21 * 2) + 4), 7).paragraphs[0].add_run(str(dis))
  1218. run.font.name = '仿宋'
  1219. run.font.size = Pt(10.5)
  1220. r = run._element
  1221. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1222. run = table2.cell(((a21 * 2) + 4), 14).paragraphs[0].add_run(dg)
  1223. run.font.name = '仿宋'
  1224. run.font.size = Pt(10.5)
  1225. r = run._element
  1226. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1227. run = table2.cell(((a21 * 2) + 4), 17).paragraphs[0].add_run(dg)
  1228. run.font.name = '仿宋'
  1229. run.font.size = Pt(10.5)
  1230. r = run._element
  1231. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1232. aa = aa + 1
  1233. except:
  1234. aa = aa + 1
  1235. a21 = a21 + 1
  1236. doc.save(out_docpath)
  1237. try:
  1238. run = table2.cell(((a21 * 2) + 3), 0).paragraphs[0].add_run(str(list5[0][0]))
  1239. run.font.name = '仿宋'
  1240. run.font.size = Pt(10.5)
  1241. r = run._element
  1242. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1243. #计算间距
  1244. xc = abs(list5[len(list5)-1][1] - list5[0][1])
  1245. yc = abs(list5[len(list5)-1][2] - list5[0][2])
  1246. xxc = xc * xc
  1247. yyc = yc * yc
  1248. dis = round(math.sqrt(xxc + yyc),2)
  1249. run = table2.cell(((a21 * 2) + 3), 5).paragraphs[0].add_run(dg)
  1250. run.font.name = '仿宋'
  1251. run.font.size = Pt(10.5)
  1252. r = run._element
  1253. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1254. run = table2.cell(((a21 * 2) + 2), 7).paragraphs[0].add_run(str(dis))
  1255. run.font.name = '仿宋'
  1256. run.font.size = Pt(10.5)
  1257. r = run._element
  1258. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1259. run = table2.cell(((a21 * 2) + 2), 14).paragraphs[0].add_run(dg)
  1260. run.font.name = '仿宋'
  1261. run.font.size = Pt(10.5)
  1262. r = run._element
  1263. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1264. run = table2.cell(((a21 * 2) + 2), 17).paragraphs[0].add_run(dg)
  1265. run.font.name = '仿宋'
  1266. run.font.size = Pt(10.5)
  1267. r = run._element
  1268. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1269. except:
  1270. #刚好是在最后一行的那个(固定位置)
  1271. run = table2.cell(44, 0).paragraphs[0].add_run(str(list5[0][0]))
  1272. run.font.name = '仿宋'
  1273. run.font.size = Pt(10.5)
  1274. r = run._element
  1275. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1276. #计算间距
  1277. xc = abs(list5[len(list5)-1][1] - list5[0][1])
  1278. yc = abs(list5[len(list5)-1][2] - list5[0][2])
  1279. xxc = xc * xc
  1280. yyc = yc * yc
  1281. dis = round(math.sqrt(xxc + yyc),2)
  1282. run = table2.cell(44, 5).paragraphs[0].add_run(dg)
  1283. run.font.name = '仿宋'
  1284. run.font.size = Pt(10.5)
  1285. r = run._element
  1286. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1287. run = table2.cell(43, 7).paragraphs[0].add_run(str(dis))
  1288. run.font.name = '仿宋'
  1289. run.font.size = Pt(10.5)
  1290. r = run._element
  1291. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1292. run = table2.cell(43, 14).paragraphs[0].add_run(dg)
  1293. run.font.name = '仿宋'
  1294. run.font.size = Pt(10.5)
  1295. r = run._element
  1296. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1297. run = table2.cell(43, 17).paragraphs[0].add_run(dg)
  1298. run.font.name = '仿宋'
  1299. run.font.size = Pt(10.5)
  1300. r = run._element
  1301. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1302. #endregion
  1303. if kk3 < 2:
  1304. #邻宗地
  1305. table3 = doc.tables[2]
  1306. #信息表
  1307. table4 = doc.tables[3]
  1308. #界址点描述
  1309. table5 = doc.tables[4]
  1310. #调查表
  1311. table6 = doc.tables[6]
  1312. else:
  1313. kk3 = kk3 - 1
  1314. #邻宗地
  1315. table3 = doc.tables[2 + kk3]
  1316. #信息表
  1317. table4 = doc.tables[3 + kk3]
  1318. #界址点描述
  1319. table5 = doc.tables[4 + kk3]
  1320. #调查表
  1321. table6 = doc.tables[6 + kk3]
  1322. #region [三表]
  1323. #先清空
  1324. kk0 = 3
  1325. while kk0 < 21:
  1326. try:
  1327. table3.cell(kk0, 0).paragraphs[0].text = ''
  1328. table3.cell(kk0, 1).paragraphs[0].text = ''
  1329. table3.cell(kk0, 2).paragraphs[0].text = ''
  1330. table3.cell(kk0, 3).paragraphs[0].text = ''
  1331. except:
  1332. pass
  1333. kk0 = kk0 + 1
  1334. bb3 = 0
  1335. while bb3 < len(list6):
  1336. if list6[bb3][1] == list6[bb3][2]:
  1337. pass
  1338. else:
  1339. run = table3.cell(bb3+3, 0).paragraphs[0].add_run(list6[bb3][1])
  1340. run.font.name = '仿宋'
  1341. run.font.size = Pt(10.5)
  1342. r = run._element
  1343. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1344. run = table3.cell(bb3+3, 2).paragraphs[0].add_run(list6[bb3][2])
  1345. run.font.name = '仿宋'
  1346. run.font.size = Pt(10.5)
  1347. r = run._element
  1348. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1349. #中心点需要算
  1350. str10 = ''
  1351. str10 = zjd(list6[bb3][1],list6[bb3][2],pcount)
  1352. run = table3.cell(bb3+3, 1).paragraphs[0].add_run(str10)
  1353. run.font.name = '仿宋'
  1354. run.font.size = Pt(10.5)
  1355. r = run._element
  1356. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1357. try:
  1358. text1 = list6[bb3][0]
  1359. str5 = text1.value
  1360. except:
  1361. str5 = text1
  1362. # if list6[kk3][3] != '':
  1363. # str51 = str5
  1364. # else:
  1365. # str51 = str5
  1366. run = table3.cell(bb3+3, 3).paragraphs[0].add_run(str5)
  1367. run.font.name = '仿宋'
  1368. run.font.size = Pt(10.5)
  1369. r = run._element
  1370. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1371. bb3 = bb3 + 1
  1372. xx1 = 0
  1373. while xx1 < 16:
  1374. try:
  1375. table4.cell(2, 1 + (xx1 * 5)).paragraphs[0].text = ''
  1376. table4.cell(2, 2 + (xx1 * 5)).paragraphs[0].text = ''
  1377. table4.cell(2, 3 + (xx1 * 5)).paragraphs[0].text = ''
  1378. except:
  1379. pass
  1380. xx1 = xx1 + 1
  1381. list8 = []
  1382. kk1 = 0
  1383. pd1 = 0
  1384. kk4 = 0
  1385. lname = []
  1386. aa4 = 0
  1387. while kk4 < len(list10):
  1388. if list10[kk4][0] in lname:
  1389. pass
  1390. else:
  1391. lname.append(list10[kk4][0])
  1392. try:
  1393. run = table4.cell(2, 1 + (aa4 * 5)).paragraphs[0].add_run(list10[kk4][0])
  1394. run.font.name = '仿宋'
  1395. run.font.size = Pt(10.5)
  1396. r = run._element
  1397. except:
  1398. print(zdh + ' LZD Error')
  1399. try:
  1400. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1401. run = table4.cell(2, 2 + (aa4 * 5)).paragraphs[0].add_run(list10[kk4][2])
  1402. run.font.name = '仿宋'
  1403. run.font.size = Pt(10.5)
  1404. r = run._element
  1405. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1406. except:
  1407. print(zdh + ' LZD Error')
  1408. try:
  1409. run = table4.cell(2, 3 + (aa4 * 5)).paragraphs[0].add_run(list10[kk4][1])
  1410. run.font.name = '仿宋'
  1411. run.font.size = Pt(10.5)
  1412. r = run._element
  1413. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1414. except:
  1415. print(zdh + ' LZD Error')
  1416. aa4 = aa4 + 1
  1417. kk4 = kk4 + 1
  1418. #endregion
  1419. #region [四五六表]
  1420. table5.cell(1, 1).paragraphs[0].text = ''
  1421. table5.cell(2, 1).text = ''
  1422. #根据邻宗地来写(list6)
  1423. str2 = ''
  1424. dd = 0
  1425. while dd < len(list6):
  1426. name2 = list6[dd][0]
  1427. if '(' in name2:
  1428. #这个是个人名
  1429. zdname = name2.split('(',-1)[0] + '林地'
  1430. else:
  1431. zdname = name2
  1432. qsd = list6[dd][1]
  1433. qsdh = int(qsd.replace('J',''))
  1434. zzd = list6[dd][2]
  1435. zzdh = int(zzd.replace('J',''))
  1436. if abs(qsdh - zzdh) == 0:
  1437. str2 = str2 + qsd + '位于' + zdname + '的交界处;\n\t'
  1438. else:
  1439. str2 = str2 + qsd +'至'+ zzd + '位于' + zdname + '的交界处;\n\t'
  1440. dd = dd + 1
  1441. str3 = ''
  1442. dd = 0
  1443. while dd < len(list6):
  1444. name2 = list6[dd][0]
  1445. if '(' in name2:
  1446. #这个是个人名
  1447. zdname = name2.split('(',-1)[0] + '林地'
  1448. else:
  1449. zdname = name2
  1450. qsd = list6[dd][1]
  1451. qsdh = int(qsd.replace('J',''))
  1452. zzd = list6[dd][2]
  1453. zzdh = int(zzd.replace('J',''))
  1454. if zzdh - qsdh == 0:
  1455. pass
  1456. elif zzdh - qsdh == 1:
  1457. str3 = str3 + qsd +'沿着' + zdname + '的边界,走向' + zzd + ';\n\t'
  1458. elif zzdh - qsdh == 2:
  1459. str3 = str3 + qsd +'沿着' + zdname + '的边界,途径J'+str(qsdh+1)+',走向' + zzd + ';\n\t'
  1460. elif zzdh - qsdh < 0:
  1461. if qsdh == pcount:
  1462. str3 = str3 + qsd +'沿着' + zdname + '的边界' +',走向' + zzd + ';\n\t'
  1463. elif qsdh + 1 == pcount:
  1464. tjqsd = 'J' + str(qsdh + 1)
  1465. str3 = str3 + qsd +'沿着' + zdname + '的边界' +',途径' +tjqsd +',走向' + zzd + ';\n\t'
  1466. else:
  1467. tjqsd = 'J' + str(qsdh + 1)
  1468. str3 = str3 + qsd +'沿着' + zdname + '的边界' +',途径' +tjqsd+ '-J' +str(pcount) +',走向' + zzd + ';\n\t'
  1469. else:
  1470. tjqsd = 'J' + str(qsdh + 1)
  1471. tjzzd = 'J' + str(zzdh - 1)
  1472. if tjzzd == 'J0':
  1473. if qsdh == pcount:
  1474. str3 = str3 + qsd +'沿着' + zdname + '的边界' +',走向' + zzd + ';\n\t'
  1475. else:
  1476. if (qsdh + 1) == (zzdh - 1):
  1477. str3 = str3 + qsd +'沿着' + zdname + '的边界,途径J'+str(qsdh+1)+',走向' + zzd + ';\n\t'
  1478. else:
  1479. str3 = str3 + qsd +'沿着' + zdname + '的边界' +',途径' +tjqsd+ '-J' +str(pcount) +',走向' + zzd + ';\n\t'
  1480. else:
  1481. if (zzdh - 1) <= (qsdh + 1):
  1482. str3 = str3 + qsd +'沿着' + zdname + '的边界' +',途径' +tjzzd+ ',走向' + zzd + ';\n\t'
  1483. else:
  1484. str3 = str3 + qsd +'沿着' + zdname + '的边界' +',途径' +tjqsd+ '-' +tjzzd + ',走向' + zzd + ';\n\t'
  1485. dd = dd + 1
  1486. run = table5.cell(1, 1).paragraphs[0].add_run('\t' + str2)
  1487. run.font.name = '仿宋'
  1488. run.font.size = Pt(10.5)
  1489. r = run._element
  1490. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1491. run = table5.cell(2, 1).paragraphs[0].add_run(str3)
  1492. run.font.name = '仿宋'
  1493. run.font.size = Pt(10.5)
  1494. r = run._element
  1495. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1496. if ii == 0:
  1497. #平方米的符号
  1498. dw1 = table6.rows[12].cells[1].text
  1499. table6.cell(0, 1).paragraphs[0].text = ''
  1500. table6.cell(1, 1).paragraphs[0].text = ''
  1501. table6.cell(3, 3).paragraphs[0].text = ''
  1502. table6.cell(2, 8).paragraphs[0].text = ''
  1503. # table6.cell(4, 8).paragraphs[0].text = ''
  1504. # table6.cell(4, 13).paragraphs[0].text = ''
  1505. # table6.cell(5, 13).paragraphs[0].text = ''
  1506. table6.cell(7, 1).paragraphs[0].text = ''
  1507. table6.cell(8, 1).paragraphs[0].text = ''
  1508. table6.cell(9, 1).paragraphs[0].text = ''
  1509. table6.cell(10, 1).paragraphs[0].text = ''
  1510. table6.cell(11, 1).paragraphs[0].text = ''
  1511. table6.cell(11, 6).paragraphs[0].text = ''
  1512. table6.cell(12, 1).paragraphs[0].text = ''
  1513. table6.cell(12, 6).paragraphs[0].text = ''
  1514. table6.cell(13, 1).paragraphs[0].text = ''
  1515. table6.cell(13, 6).paragraphs[0].text = ''
  1516. table6.cell(19, 4).paragraphs[0].text = ''
  1517. # 宗地号
  1518. run = table6.cell(0,1).paragraphs[0].add_run(zdh)
  1519. run.font.name = '仿宋'
  1520. run.font.size = Pt(10.5)
  1521. r = run._element
  1522. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1523. # 所有人
  1524. qq = 0
  1525. namestr = ''
  1526. sfzstr = ''
  1527. while qq < len(list4):
  1528. if qq == len(list4) - 1:
  1529. # 姓名
  1530. name1 = list4[qq][2]
  1531. namestr = namestr + name1
  1532. # 身份证号
  1533. sfz1 = list4[qq][4]
  1534. sfzstr = sfzstr + sfz1
  1535. qq = qq + 1
  1536. else:
  1537. # 姓名
  1538. name1 = list4[qq][2]
  1539. namestr = namestr + name1 + '\n'
  1540. # 身份证号
  1541. sfz1 = list4[qq][4]
  1542. sfzstr = sfzstr + sfz1 + '\n'
  1543. qq = qq + 1
  1544. if len(list4) < 8:
  1545. run = table6.cell(1,1).paragraphs[0].add_run(namestr)
  1546. run.font.name = '仿宋'
  1547. run.font.size = Pt(10.5)
  1548. r = run._element
  1549. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1550. run = table6.cell(2,8).paragraphs[0].add_run(sfzstr)
  1551. run.font.name = '仿宋'
  1552. run.font.size = Pt(10.5)
  1553. r = run._element
  1554. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1555. else:
  1556. #缩小字号
  1557. run = table6.cell(1,1).paragraphs[0].add_run(namestr)
  1558. run.font.name = '仿宋'
  1559. run.font.size = Pt(7.5)
  1560. r = run._element
  1561. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1562. run = table6.cell(2,8).paragraphs[0].add_run(sfzstr)
  1563. run.font.name = '仿宋'
  1564. run.font.size = Pt(7.5)
  1565. r = run._element
  1566. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1567. # 权利人类型
  1568. if lx == 1:
  1569. run = table6.cell(7,1).paragraphs[0].add_run('其他')
  1570. run.font.name = '仿宋'
  1571. run.font.size = Pt(10.5)
  1572. r = run._element
  1573. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1574. else:
  1575. run = table6.cell(7,1).paragraphs[0].add_run('个人')
  1576. run.font.name = '仿宋'
  1577. run.font.size = Pt(10.5)
  1578. r = run._element
  1579. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1580. # 坐落
  1581. run = table6.cell(8,1).paragraphs[0].add_run(zl)
  1582. run.font.name = '仿宋'
  1583. run.font.size = Pt(10.5)
  1584. r = run._element
  1585. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1586. # 造林年度
  1587. if zlnd == ' ' or zlnd == None or zlnd == '':
  1588. run = table6.cell(9,1).paragraphs[0].add_run('1998年')
  1589. run.font.name = '仿宋'
  1590. run.font.size = Pt(10.5)
  1591. r = run._element
  1592. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1593. else:
  1594. run = table6.cell(9,1).paragraphs[0].add_run(zlnd + '年')
  1595. run.font.name = '仿宋'
  1596. run.font.size = Pt(10.5)
  1597. r = run._element
  1598. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1599. # 小地名
  1600. run = table6.cell(10,1).paragraphs[0].add_run(xdm)
  1601. run.font.name = '仿宋'
  1602. run.font.size = Pt(10.5)
  1603. r = run._element
  1604. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1605. # 林班
  1606. run = table6.cell(11,1).paragraphs[0].add_run(lb)
  1607. run.font.name = '仿宋'
  1608. run.font.size = Pt(10.5)
  1609. r = run._element
  1610. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1611. # 小班
  1612. run = table6.cell(11,6).paragraphs[0].add_run(xb)
  1613. run.font.name = '仿宋'
  1614. run.font.size = Pt(10.5)
  1615. r = run._element
  1616. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1617. str2 = now_area + '㎡/ ' + now_area_m + '亩'
  1618. run = table6.cell(12,1).paragraphs[0].add_run(str2)
  1619. run.font.name = '仿宋'
  1620. run.font.size = Pt(10.5)
  1621. r = run._element
  1622. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1623. # 起源
  1624. run = table6.cell(12,6).paragraphs[0].add_run(qy)
  1625. run.font.name = '仿宋'
  1626. run.font.size = Pt(10.5)
  1627. r = run._element
  1628. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1629. # 株树
  1630. run = table6.cell(13,1).paragraphs[0].add_run(str(zs))
  1631. run.font.name = '仿宋'
  1632. run.font.size = Pt(10.5)
  1633. r = run._element
  1634. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1635. # 主要树种
  1636. run = table6.cell(13,6).paragraphs[0].add_run(zysz)
  1637. run.font.name = '仿宋'
  1638. run.font.size = Pt(10.5)
  1639. r = run._element
  1640. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1641. # 第六个表格的备注
  1642. run = table6.cell(19,4).paragraphs[0].add_run('该户原林权证证载面积' +zzmj+'亩,株数'+str(zs)+'株。')
  1643. run.font.name = '仿宋'
  1644. run.font.size = Pt(10.5)
  1645. r = run._element
  1646. r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
  1647. #endregion
  1648. print(zdh + ' finish')
  1649. # except:
  1650. # print(zdh + ' error')
  1651. doc.save(out_docpath)
  1652. ii= ii + 1
  1653. # def chsf(list1,pcount):
  1654. # ii = 0
  1655. # list2 = []
  1656. # aa = 0
  1657. # num0 = 0
  1658. # num1 = 0
  1659. # while ii < len(list1):
  1660. # if list2 == []:
  1661. # slist2 = []
  1662. # slist2.append(list1[ii][0])
  1663. # slist2.append('J1')
  1664. # slist2.append(list1[ii][2])
  1665. # list2.append(slist2)
  1666. # num0 = int(list1[ii][2].replace('J',''))
  1667. # num1 = 1
  1668. # ii = ii + 1
  1669. # elif list2[aa][0] == list1[ii][0]:
  1670. # if num0 <= int(int(list1[ii][1].replace('J',''))) and num1 <= int(list1[ii][1].replace('J','')):
  1671. # list2[aa][2] = list1[ii][2]
  1672. # num0 = int(list2[aa][2].replace('J',''))
  1673. # num1 = int(list2[aa][1].replace('J',''))
  1674. # else:
  1675. # if int(list1[ii][1].replace('J','')) > int(list1[ii][2].replace('J','')):
  1676. # pass
  1677. # #这里不合
  1678. # # list2[aa][2] = list1[ii][2]
  1679. # # num0 = int(list2[aa][2].replace('J',''))
  1680. # # num1 = int(list2[aa][1].replace('J',''))
  1681. # ii = ii + 1
  1682. # else:
  1683. # if num0 <= int(list1[ii][2].replace('J','')) and num1 <= int(list1[ii][1].replace('J','')):
  1684. # #检查和上一个是否连接
  1685. # if num0 != int(list1[ii][1].replace('J','')):
  1686. # if num0 == pcount:
  1687. # list2[aa][2] = 'J' + str(pcount - 1)
  1688. # slist2 = []
  1689. # slist2.append(list1[ii][0])
  1690. # slist2.append('J' + str(pcount - 1))
  1691. # slist2.append(list1[ii][2])
  1692. # list2.append(slist2)
  1693. # else:
  1694. # slist2 = []
  1695. # slist2.append(list1[ii][0])
  1696. # slist2.append('J'+ str(num0))
  1697. # slist2.append(list1[ii][2])
  1698. # list2.append(slist2)
  1699. # else:
  1700. # slist2 = []
  1701. # slist2.append(list1[ii][0])
  1702. # slist2.append(list1[ii][1])
  1703. # slist2.append(list1[ii][2])
  1704. # list2.append(slist2)
  1705. # aa = aa + 1
  1706. # num0 = int(list2[aa][2].replace('J',''))
  1707. # num1 = int(list2[aa][1].replace('J',''))
  1708. # elif num0 == 1:
  1709. # #检查和上一个是否连接
  1710. # if num0 != int(list1[ii][1].replace('J','')):
  1711. # if num0 == pcount:
  1712. # list2[aa][2] = 'J' + str(pcount - 1)
  1713. # slist2 = []
  1714. # slist2.append(list1[ii][0])
  1715. # slist2.append('J' + str(pcount - 1))
  1716. # slist2.append(list1[ii][2])
  1717. # list2.append(slist2)
  1718. # else:
  1719. # slist2 = []
  1720. # slist2.append(list1[ii][0])
  1721. # slist2.append('J'+ str(num0))
  1722. # slist2.append(list1[ii][2])
  1723. # list2.append(slist2)
  1724. # else:
  1725. # slist2 = []
  1726. # slist2.append(list1[ii][0])
  1727. # slist2.append(list1[ii][1])
  1728. # slist2.append(list1[ii][2])
  1729. # list2.append(slist2)
  1730. # aa = aa + 1
  1731. # num0 = int(list2[aa][2].replace('J',''))
  1732. # num1 = int(list2[aa][1].replace('J',''))
  1733. # else:
  1734. # if int(list1[ii][1].replace('J','')) > int(list1[ii][2].replace('J','')):
  1735. # if list1[ii][2] == 'J1':
  1736. # #应该是这里,拆成两个
  1737. # slist2 = []
  1738. # slist2.append(list1[ii][0])
  1739. # slist2.append(list1[ii][1])
  1740. # slist2.append('J1')
  1741. # list2.append(slist2)
  1742. # else:
  1743. # #应该是这里,拆成两个
  1744. # slist2 = []
  1745. # slist2.append(list1[ii][0])
  1746. # slist2.append(list1[ii][1])
  1747. # slist2.append('J1')
  1748. # list2.append(slist2)
  1749. # slist2 = []
  1750. # slist2.append(list1[ii][0])
  1751. # slist2.append('J1')
  1752. # slist2.append(list1[ii][2])
  1753. # list2.append(slist2)
  1754. # aa = aa + 1
  1755. # num0 = int(list2[aa][2].replace('J',''))
  1756. # num1 = int(list2[aa][1].replace('J',''))
  1757. # ii =ii + 1
  1758. # bb = 0
  1759. # while bb < len(list2):
  1760. # if bb != len(list2) - 1:
  1761. # if list2[bb][2] == list2[bb + 1][1]:
  1762. # pass
  1763. # else:
  1764. # #优先保带JE的
  1765. # if 'JE' in list2[bb][0]:
  1766. # list2[bb + 1][1] = list2[bb][2]
  1767. # else:
  1768. # list2[bb][2] = list2[bb + 1][1]
  1769. # else:
  1770. # if list2[bb-1][2] == list2[bb][1]:
  1771. # pass
  1772. # else:
  1773. # #优先保带JE的
  1774. # if 'JE' in list2[bb-1][0]:
  1775. # list2[bb][1] = list2[bb-1][2]
  1776. # else:
  1777. # list2[bb-1][2] = list2[bb][1]
  1778. # if list2[bb][2] !='J1' and bb == len(list2) - 1:
  1779. # if len(list2) != 1:
  1780. # list2[bb][2] = 'J1'
  1781. # else:
  1782. # slist2 = []
  1783. # slist2.append(list2[bb][0])
  1784. # slist2.append(list2[bb][2])
  1785. # slist2.append(list2[bb][1])
  1786. # list2.append(slist2)
  1787. # break
  1788. # # elif list2[bb][2] == 'J' + str(pcount) and bb == len(list2) - 1:
  1789. # # slist2 = []
  1790. # # slist2.append(list2[bb][0])
  1791. # # slist2.append('J' + str(pcount))
  1792. # # slist2.append('J1')
  1793. # # list2.append(slist2)
  1794. # # break
  1795. # if list2[bb][1] == list2[bb][2]:
  1796. # try:
  1797. # if abs(int(list2[bb+1][1].replace('J','')) - int(list2[bb+1][2].replace('J',''))) == 1:
  1798. # list2[bb][2] = 'J' + str(int(list2[bb][2].replace('J','')) + 1)
  1799. # else:
  1800. # list2[bb][2] = 'J' + str(int(list2[bb][2].replace('J','')) + 1)
  1801. # list2[bb+1][1] = 'J' + str(int(list2[bb][2].replace('J','')) + 1)
  1802. # except:
  1803. # pass
  1804. # bb =bb + 1
  1805. # return list2
  1806. def chsf(list1,pcount):
  1807. ii = 0
  1808. list2 = []
  1809. aa = 0
  1810. num0 = 0
  1811. num1 = 0
  1812. while ii < len(list1):
  1813. if list2 == []:
  1814. slist2 = []
  1815. slist2.append(list1[ii][0])
  1816. slist2.append('J1')
  1817. slist2.append(list1[ii][2])
  1818. list2.append(slist2)
  1819. num0 = int(list1[ii][2].replace('J',''))
  1820. num1 = 1
  1821. ii = ii + 1
  1822. elif list2[aa][0] == list1[ii][0]:
  1823. if num0 <= int(int(list1[ii][1].replace('J',''))) and num1 <= int(list1[ii][1].replace('J','')):
  1824. list2[aa][2] = list1[ii][2]
  1825. num0 = int(list2[aa][2].replace('J',''))
  1826. num1 = int(list2[aa][1].replace('J',''))
  1827. else:
  1828. if int(list1[ii][1].replace('J','')) > int(list1[ii][2].replace('J','')):
  1829. pass
  1830. #这里不合
  1831. # list2[aa][2] = list1[ii][2]
  1832. # num0 = int(list2[aa][2].replace('J',''))
  1833. # num1 = int(list2[aa][1].replace('J',''))
  1834. ii = ii + 1
  1835. else:
  1836. if num0 <= int(list1[ii][2].replace('J','')) and num1 <= int(list1[ii][1].replace('J','')):
  1837. #检查和上一个是否连接
  1838. if num0 != int(list1[ii][1].replace('J','')):
  1839. #有一边是否是JE
  1840. if 'JE' in list2[aa][0]:
  1841. if num0 == pcount:
  1842. slist2 = []
  1843. slist2.append(list1[ii][0])
  1844. slist2.append('J' + str(pcount))
  1845. slist2.append('J1')
  1846. list2.append(slist2)
  1847. slist2 = []
  1848. slist2.append(list1[ii][0])
  1849. slist2.append('J1')
  1850. slist2.append(list1[ii][2])
  1851. list2.append(slist2)
  1852. else:
  1853. slist2 = []
  1854. slist2.append(list1[ii][0])
  1855. slist2.append('J'+ str(num0))
  1856. slist2.append(list1[ii][2])
  1857. list2.append(slist2)
  1858. elif 'JE' in list1[ii][0]:
  1859. if num0 == pcount:
  1860. slist2 = []
  1861. slist2.append(list1[aa][0])
  1862. slist2.append('J1')
  1863. slist2.append(list1[ii][1])
  1864. list2.append(slist2)
  1865. slist2 = []
  1866. slist2.append(list1[ii][0])
  1867. slist2.append(list1[ii][1])
  1868. slist2.append(list1[ii][2])
  1869. list2.append(slist2)
  1870. else:
  1871. list2[aa][2] = list1[ii][1]
  1872. slist2 = []
  1873. slist2.append(list1[ii][0])
  1874. slist2.append(list1[ii][1])
  1875. slist2.append(list1[ii][2])
  1876. list2.append(slist2)
  1877. else:
  1878. if num0 == pcount:
  1879. list2[aa][2] = 'J' + str(pcount - 1)
  1880. slist2 = []
  1881. slist2.append(list1[ii][0])
  1882. slist2.append('J' + str(pcount - 1))
  1883. slist2.append(list1[ii][2])
  1884. list2.append(slist2)
  1885. else:
  1886. slist2 = []
  1887. slist2.append(list1[ii][0])
  1888. slist2.append('J'+ str(num0))
  1889. slist2.append(list1[ii][2])
  1890. list2.append(slist2)
  1891. else:
  1892. slist2 = []
  1893. slist2.append(list1[ii][0])
  1894. slist2.append(list1[ii][1])
  1895. slist2.append(list1[ii][2])
  1896. list2.append(slist2)
  1897. aa = aa + 1
  1898. num0 = int(list2[aa][2].replace('J',''))
  1899. num1 = int(list2[aa][1].replace('J',''))
  1900. elif num0 == 1:
  1901. #检查和上一个是否连接
  1902. if num0 != int(list1[ii][1].replace('J','')):
  1903. if 'JE' in list2[aa][0]:
  1904. slist2 = []
  1905. slist2.append(list1[ii][0])
  1906. slist2.append(list2[aa][2])
  1907. slist2.append(list1[ii][2])
  1908. list2.append(slist2)
  1909. elif 'JE' in list1[ii][0]:
  1910. slist2 = []
  1911. slist2.append(list2[aa][0])
  1912. slist2.append('JE')
  1913. slist2.append(list1[ii][1])
  1914. list2.append(slist2)
  1915. slist2 = []
  1916. slist2.append(list1[ii][0])
  1917. slist2.append(list2[ii][1])
  1918. slist2.append(list1[ii][2])
  1919. list2.append(slist2)
  1920. else:
  1921. slist2 = []
  1922. slist2.append(list1[ii][0])
  1923. slist2.append('J'+ str(num0))
  1924. slist2.append(list1[ii][2])
  1925. list2.append(slist2)
  1926. else:
  1927. slist2 = []
  1928. slist2.append(list1[ii][0])
  1929. slist2.append(list1[ii][1])
  1930. slist2.append(list1[ii][2])
  1931. list2.append(slist2)
  1932. aa = aa + 1
  1933. num0 = int(list2[aa][2].replace('J',''))
  1934. num1 = int(list2[aa][1].replace('J',''))
  1935. else:
  1936. if int(list1[ii][1].replace('J','')) > int(list1[ii][2].replace('J','')):
  1937. if list1[ii][2] == 'J1':
  1938. #应该是这里,拆成两个
  1939. slist2 = []
  1940. slist2.append(list1[ii][0])
  1941. slist2.append(list1[ii][1])
  1942. slist2.append('J1')
  1943. list2.append(slist2)
  1944. else:
  1945. #应该是这里,拆成两个
  1946. slist2 = []
  1947. slist2.append(list1[ii][0])
  1948. slist2.append(list1[ii][1])
  1949. slist2.append('J1')
  1950. list2.append(slist2)
  1951. slist2 = []
  1952. slist2.append(list1[ii][0])
  1953. slist2.append('J1')
  1954. slist2.append(list1[ii][2])
  1955. list2.append(slist2)
  1956. aa = aa + 1
  1957. num0 = int(list2[aa][2].replace('J',''))
  1958. num1 = int(list2[aa][1].replace('J',''))
  1959. ii =ii + 1
  1960. bb = 0
  1961. while bb < len(list2):
  1962. if bb != len(list2) - 1:
  1963. if list2[bb][2] == list2[bb + 1][1]:
  1964. pass
  1965. else:
  1966. #优先保带JE的
  1967. if 'JE' in list2[bb][0]:
  1968. list2[bb + 1][1] = list2[bb][2]
  1969. else:
  1970. list2[bb][2] = list2[bb + 1][1]
  1971. else:
  1972. if list2[bb-1][2] == list2[bb][1]:
  1973. pass
  1974. else:
  1975. #优先保带JE的
  1976. if 'JE' in list2[bb-1][0]:
  1977. list2[bb][1] = list2[bb-1][2]
  1978. else:
  1979. list2[bb-1][2] = list2[bb][1]
  1980. if list2[bb][2] !='J1' and bb == len(list2) - 1:
  1981. if len(list2) > 2:
  1982. list2[bb][2] = 'J1'
  1983. else:
  1984. if list2[bb][1] == 'J1':
  1985. slist2 = []
  1986. slist2.append(list2[bb][0])
  1987. slist2.append(list2[bb][2])
  1988. slist2.append('J1')
  1989. list2.append(slist2)
  1990. else:
  1991. slist2 = []
  1992. slist2.append(list2[bb][0])
  1993. slist2.append(list2[bb][2])
  1994. slist2.append('J1')
  1995. list2.append(slist2)
  1996. # elif list2[bb][2] == 'J' + str(pcount) and bb == len(list2) - 1:
  1997. # slist2 = []
  1998. # slist2.append(list2[bb][0])
  1999. # slist2.append('J' + str(pcount))
  2000. # slist2.append('J1')
  2001. # list2.append(slist2)
  2002. # break
  2003. if list2[bb][1] == list2[bb][2]:
  2004. try:
  2005. if abs(int(list2[bb+1][1].replace('J','')) - int(list2[bb+1][2].replace('J',''))) == 1:
  2006. list2[bb][2] = 'J' + str(int(list2[bb][2].replace('J','')) + 1)
  2007. else:
  2008. list2[bb][2] = 'J' + str(int(list2[bb][2].replace('J','')) + 1)
  2009. list2[bb+1][1] = 'J' + str(int(list2[bb][2].replace('J','')) + 1)
  2010. except:
  2011. pass
  2012. bb =bb + 1
  2013. return list2
  2014. def takesixth(elem):
  2015. return elem[4]
  2016. def zjd(pt1,pt2,pcount):
  2017. str1 = ''
  2018. num0 = int(pt1.replace('J',''))
  2019. num1 = int(pt2.replace('J',''))
  2020. if abs(num1 - num0) == 1:
  2021. str1 = '/'
  2022. else:
  2023. if num0 < num1:
  2024. #正常取中间的
  2025. llist = []
  2026. ii = 1
  2027. while num0 +ii < num1:
  2028. llist.append('J'+ str(num0 +ii))
  2029. ii =ii + 1
  2030. else:
  2031. llist = []
  2032. ii = 1
  2033. while num0 +ii <= pcount:
  2034. llist.append('J'+ str(num0 +ii))
  2035. ii =ii + 1
  2036. mm = 1
  2037. while mm < num1:
  2038. llist.append('J'+ str(mm))
  2039. mm = mm + 1
  2040. if llist == []:
  2041. str1 = '/'
  2042. else:
  2043. nn = 0
  2044. if len(llist) < 10:
  2045. while nn < len(llist):
  2046. str1 = str1 + llist[nn]
  2047. if nn == len(llist) - 1:
  2048. pass
  2049. else:
  2050. str1 = str1 + '、'
  2051. nn =nn + 1
  2052. else:
  2053. str1 = llist[0] + '-' + llist[len(llist) - 1]
  2054. return str1
  2055. if __name__ == '__main__':
  2056. start()