Python客户端开发

前言

工作需求,需要开发一个处理Execl数据并转换为Mike格式的小工具,因此选定了Python+openpyxl+re+ pandas作为自己的开发框架,tkinter作为GUI展示框架,整个系统开发时间在半天左右

技术选型

openpyxl和pandas都是处理execl的第三方库,pandas功能较openpyxl相比更强大,本项目中的需要对execl表格进行排序,openpyxl只能添加排序头并不能对表格执行真正的排序操作,但是pandas可以。但是在读取方面,openpyxl效率会更快一些,所以我采用了二者相结合的模式。

import openpyxl
import re
import pandas as pd

数据预处理

pandas对表格进行排序并保存

df = pd.read_excel(execlFileName, sheet_name =sheetName)
df_value = df.sort_values(by=[dmmc, rdis], ascending=True)  # 如果"dmmc"数据相同再按照"rdis"进行排列
# 保存文件
writer = pd.ExcelWriter(execlFileName)
df_value.to_excel(writer, sheet_name =sheetName, index=False)
writer.save()

openpyxl打开excel并获取表单对象

# 1):打开excel:创建表对象
wb = openpyxl.load_workbook(filename=execlFileName)

# 2):获取表单:获取表单对象
sheet = wb[sheetName]

保存txt

将txt保存至OUTPUT_FULL_FILE_PATH路径下

with open(OUTPUT_FULL_FILE_PATH, 'w') as f:
    f.write(text)

python GUI

tkinter新建窗口对象

window = tk.Tk()  # 创建一个窗口对象
<br>window.title('gisConvertToMike')  # 给窗口命名
<br>window.geometry('500x250')  # 定义窗口的长宽,geometry方法中传入字符串参数,字符串中应为长x宽(Note:x是小写字母x)
<br>

GUI页面对象

# label
l = tk.Label(window, text='请输入初始字符:', font=('Arial', 12))
l.pack()

# text
e = tk.Entry(window, textvariable=entryVar, show=None)  # show = None:输入字符可见, show = '*':
e.pack()

# label
l = tk.Label(window, text='请导入gis格式Execl:', font=('Arial', 12))
l.pack()

python打包

我是使用anaconda里面的python环境进行开发的,打包需要如下几个步骤

# 1)使用Anaconda Prompt打开,并进入开发所用环境
activate py39

# 2)进入py文件所在目录
cd D:/XXX/XXX

# 3)执行打包命令,指定convert.ico为图标
pyinstaller -i="./convert.ico" -F -w main.py

pyinstaller打包命令参数:

-F:打包后只生成单个exe格式文件
-D:默认选项,创建一个目录,包含exe文件以及大量依赖文件;
-c:默认选项,使用控制台(就是类似cmd的黑框);只对 Windows 有效
-w:不使用控制台;这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!只对 Windows 有效
-p:添加搜索路径,让其找到对应的库;用路径分割符 (Windows 使用分号 ,Linux 使用冒号 ) 分割 , 指定多个目录 . 也可以使用多个 -p 参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源,和使用 PYTHONPATH 效果相似
-i:改变生成程序的icon图标。只在windows下生效
-o DIR, –out=DIR 指定 spec 文件的生成目录 , 如果没有指定 , 而且当前目录是 PyInstaller 的根目录 , 会自动创建一个用于输出 (spec 和生成的可执行文件 ) 的目录 . 如果没有指定 , 而当前目录不是 PyInstaller 的根目录 , 则会输出到当前的目录下
–add-data <SRC;DEST or SRC:DEST> 添加资源文件(Windows使用;分号,大多数Unix使用:冒号,注意后面还有一个.点)可以添加dll ico等资源文件
-v FILE, –version=FILE 将 verfile 作为可执行文件的版本资源 ( 只对 Windows 系统有效 )
-n NAME, –name=NAME 可选的项目 ( 产生的 spec 的 ) 名字 . 如果省略 , 第一个脚本的主文件名将作为 spec 的名字

原文地址:https://juejin.cn/post/7143498464235061262

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容