#自动化##Python#

遇到的需求是这样的,需要频繁将htm类型的数据转为Excel表格,这是一个重复性的工作,极大程度上浪费时间和人力,所以我找到了一个解决方案。用Python开发一个桌面的自动化的小工具,虽然实现起来简单,但是真心好用。今天特意写篇文章分享给大家。希望你从获得的是这个思路,里面的功能你可以换成你工作中重复的工作。

一、背景介绍

首先 htm 数据是如下这样的,一个网址。内容在网页中,这里需要写爬虫,获取网页中的信息,自动保存到excel ,并输出excel格式的文件。

1、需求结果

2、解析htm里的内容,并保存到excel

from bs4 import BeautifulSoup import pandas as pd class htmToExcel(object): def __init__(self, file_name, file_path): self.file_name = file_name self.file_path = file_path def htm_to_excel(self): print(self.file_path) soup = BeautifulSoup(open(self.file_path), features='html.parser') table = soup.find("table") tr_list = table.find_all("tr") th = tr_list.pop(0) title = th.find_all("th") lis = [] for tr in tr_list: data = {} td = tr.find_all("td") for i in range(len(td)): data[title[i].text] = td[i].text lis.append(data) df = pd.DataFrame(lis) df.to_excel('{}.xlsx'.format(str(self.file_name).split('.')[0]), index=False) return '转换成功!' if __name__ == '__main__': file_name = input("请输入文件名字:") path = 'C:/Users/cherich/Desktop/' + file_name pross = htmToExcel(file_name, path) print(pross.htm_to_excel())

二、设计窗口

创建桌面窗口,这里使用tkinter,它是Python 自带的gui库,安装后即可使用。

1、安装命令:

pip install tkinter

2、利用tkinter完成可视化窗口上传文件功能:

from tkinter import Tk, Entry, Button, mainloop import tkinter.filedialog import htm_to_excel from tkinter import messagebox def Upload(): try: selectFileName = tkinter.filedialog.askopenfilename(title='选择文件') pross = htm_to_excel.htmToExcel(str(selectFileName).split('/')[-1], selectFileName) pross.htm_to_excel() messagebox.showinfo('Info', '转换成功!') root.destroy() except Exception as e: print(e) messagebox.showinfo('Info', '转换失败!') root = Tk() root.title('HTM转Excel小工具') root.geometry('+500+300') e1 = Entry(root, width=50) e1.grid(row=0, column=0) btn1 = Button(root, text=' 上传 ', command=Upload).grid(row=1, column=0, pady=5) mainloop()

三、打包exe

本功能打包成exe的好处是不需要将代码部署到服务器,直接将打包好的exe发给对方,就能直接使用。对于这种小而轻的功能非常友好。

1、安装命令:

pip install pyinstaller

2、 打开DOS窗口并切换到demo.py文件的目录,注意路径不要有中文:





在当前目录下,会生成两个文件夹:build和dist。dist里面就是所有可执行exe文件,发送快捷方式到桌面,点击demo.exe就能运行了。

3、pyinstaller指令的常见可选参数:

-i 给应用程序添加图标 -F 指定打包后只生成一个exe格式的文件 -D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项) -c –console, –nowindowed 使用控制台,无界面(默认) -w –windowed, –noconsole 使用窗口,无控制台 -p 添加搜索路径

四、该注意的坑!

如果生成exe之后,你发现你的程序异常的慢,请检查你的导包代码,尽量不要出现 from ··· import * ,否则每次启动程序,都会导入大量函数占用大量时间,亲测有效。


今天的文章写到这里,如果你觉得对你有帮助,欢迎点赞哦~