Python-根據已有的行政區域信息,自動生成exl文件
阿新 • • 發佈:2018-01-04
pac pda play for Coding ted gre sci none
最近接到個小任務,需要從下圖這樣的信息中找出社區、行政村並且分類。事後我計算了一下,只是行政村就有500+,這樣的重復性勞動果斷選擇Python來執行。
為了方便其他和我遇到同樣問題的人,我用pyinstaller將這個程序打包了。根據以往經驗,在win7 32位電腦上是可以運行的。
使用起來需要註意的就是需要有像上圖【name.txt】一樣的文件才行。
本來打算用爬蟲爬去zf的網站信息的,無奈這幾個網站風格都不一樣,況且復制起來也挺方便,就沒用爬蟲。
原理就是利用了正則表達式,匹配了“社區”,“村”字符。可能還有“居委會”等字符我沒考慮到,因此將代碼貼在下面。
工具截圖:
程序微雲鏈接:下載 (密碼:unbR)
1 # -*- coding: utf-8 -*- 2 """ 3 Created on Thu Dec 28 11:18:39 2017 4 5 @author: Administrator 6 """ 7 8 import re 9 import xlwt 10 import tkinter as tk 11 from PIL import Image,ImageTk 12 13 def _getexl(): 14 try: 15 f = open(‘D://name.txt‘,‘r‘) 16 data = f.read() 17View Codeexcept Exception as e: 18 var2.set(‘未找到D://name.txt!‘) 19 window.update() 20 #print (data) 21 workbook = xlwt.Workbook(encoding = ‘ascii‘) #創建exl工作本 22 worksheet = workbook.add_sheet(‘My Worksheet‘) 23 m = 1 24 n = 1 25 for a in set(re.findall(‘(.+?社區).+?‘, str(data))):26 worksheet.write(m, 0, a) 27 m += 1 28 for b in set(re.findall(‘(.+?村).+?‘, str(data))): 29 worksheet.write(n, 1, b) 30 n += 1 31 workbook.save(‘D://行政劃分.xls‘) 32 var2.set(‘已經生成 D://行政劃分.xls‘ ) 33 window.update() 34 #print (‘寫入完成!‘) 35 36 window = tk.Tk() #圖形化窗口 37 window.title(‘行政區域信息表生成工具 v1.0‘) 38 window.geometry(‘350x300‘) 39 40 B1 = tk.Button(window,text = ‘開始生成‘,41 command=_getexl,width=15,height=2) 42 B1.pack() 43 44 var2 = tk.StringVar() #tk字符串變量? 45 l2 = tk.Label(window,textvariable=var2,bg=‘green‘,46 fg=‘white‘,width=40,height=2) 47 l2.pack() 48 49 l1 = tk.Label(window,text = ‘【使用須知】\n ①準備工作:在D盤根目錄添加“name.txt”,50 將型如【xx社區,xx村,xx社區,xx村】的行政劃分信息寫入其中。51 ②點擊“開始生成”按鈕,(支持“社區”“村”)‘,bg=‘gray‘,width=40,fg=‘white‘,wraplength=270) 52 l1.pack() 53 54 load = Image.open(‘hndx-min.png‘) 55 png = ImageTk.PhotoImage(load) 56 l3 = tk.Label(window,image = png) 57 l3.image = png 58 l3.pack() 59 60 window.mainloop()
Python-根據已有的行政區域信息,自動生成exl文件