1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- from shapefile import Reader
- from openpyxl import Workbook
-
- def start():
- dmxpath = r'D:\4work_now\20241017dm\20241129\hltdm\dmxZ.shp'
- outpath = r'D:\4work_now\20241017dm\20241129\hltdm\hlt_zdm.xlsx'
- list1 = []
- max1 = 0
- with Reader(dmxpath) as dmx:
- dmxrec = dmx.records()
- for dmxr in dmxrec:
- knum = dmxr.KZ
- jnum = dmxr.JZ
- zh = dmxr.ZH_1
- if zh == '':
- gc = -1
- else:
- try:
- gc = zh.split(' ',-1)[1]
- except:
- gc = -1
- lista = []
- lista.append(knum)
- lista.append(jnum)
- lista.append(gc)
- list1.append(lista)
- if max1 < knum:
- max1 = knum
- wb = Workbook() # 新建工作簿
- ws = wb.active
- mm = 0
- nn = 0
- ii = 1
- while mm <= max1:
- while nn < 1000:
- lj = mm * 1000 + nn
- for re in list1:
- if re[0] == mm and re[1] == nn:
- ws.cell(row=ii, column=1, value=ii)
- ws.cell(row=ii, column=3, value=1000000)
- ws.cell(row=ii, column=4, value=lj)
- if ii == 1:
- ws.cell(row=ii, column=2, value=1)
- else:
- ws.cell(row=ii, column=2, value='+')
- if re[2] == -1:
- pass
- else:
- ws.cell(row=ii, column=5, value=re[2])
- print(str(lj))
- ii = ii + 1
- nn = nn + 10
- mm = mm + 1
- nn = 0
- wb.save(outpath)
-
-
- if __name__ == '__main__':
- start()
|