Python-根据已有的行政区域信息,自动生成exl文件

Posted AuBuCuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-根据已有的行政区域信息,自动生成exl文件相关的知识,希望对你有一定的参考价值。

最近接到个小任务,需要从下图这样的信息中找出社区、行政村并且分类。事后我计算了一下,只是行政村就有500+,这样的重复性劳动果断选择Python来执行。

为了方便其他和我遇到同样问题的人,我用pyinstaller将这个程序打包了。根据以往经验,在win7 32位电脑上是可以运行的。

使用起来需要注意的就是需要有像上图【name.txt】一样的文件才行。

本来打算用爬虫爬去zf的网站信息的,无奈这几个网站风格都不一样,况且复制起来也挺方便,就没用爬虫。

原理就是利用了正则表达式,匹配了“社区”,“村”字符。可能还有“居委会”等字符我没考虑到,因此将代码贴在下面。

工具截图:

 

程序微云链接:%%

 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文件的主要内容,如果未能解决你的问题,请参考以下文章

Python自动化开发—EX.6(员工信息表查询)

如何利用python提取两个excel对比后的重复值的信息?

数据初级分析

Python - 基于现有数据集生成相关数据集

JVM内存区域

Python自动化开发—EX.2(三级菜单)