1. 程式人生 > >Python-根據已有的行政區域信息,自動生成exl文件

Python-根據已有的行政區域信息,自動生成exl文件

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()
17
except 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()
View Code

Python-根據已有的行政區域信息,自動生成exl文件