python搜索Excel配置表内容

##游戏运行或系统运行中往往会遇到某些词会在哪些配置表中出现,或者策划想改个配置,又不能够确定到底有哪些表会用到,避免报错
这个exe可以进行多表查询

import os,xlrd,re

#todo:制作图形ui
def addName():
    f_dir = sys.argv[1]
    file_list = os.listdir(sys.argv[1])
    booksheet = workbook.sheet_by_index(0)
    p = list()
    for row in range(booksheet.nrows):
        col_data = []
        for col in range(booksheet.ncols):
            cel = booksheet.cell(row,col)
            val = cel.value
            col_data.append(val)
        p.append(col_data)
    return p

def file_name(file_dir):
    excel = []
    for root, dirs,files in ps.walk(file_dir):
        for file in files:
            if os.path.splitext(file)[1]== '.xls' or os.path.splitext(file)[1] == '.xlsx':
                excel.append(file)
    return excel

def search_word_in_file(word,files,root_dir,n = []):
    result = []
    for file in files:
        tmp_file = read_xls(root_dir +"\\"+ str(file))
            for match in match_word_list:
                result.append(str(match)+"\n")
            tmp_file = []
    return result

def search_word(word,file,filename):
    pattern_attr = re.compile(r""+ word)
    i = 1
    match_word_list = []
    for row in file:
        k = 1
        for cell in row:
            try: 
                tmp = pattern_attr.findall(cell)
                if(tmp):
                    match_word_list.append([filename,i,k,cell])
                    pass
            except TypeError:
                pass
            k+= 1
        i+= 1
        return match_word_list
Python GUI 编程(Tkinter)创建图形界面
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
from tkinter import messagebox
import xlrd
import os
import searchword

class czpzb:
    """docstring for czpzb"""
    def __init__(self):
        pass

    def mainview(self):
        self.file_name = ""
        mssage = Tk()
        mssage.title('配置表检查')
        mssage.geometry('780x600+400+250')
        mssage.resizable(width = False,height = False)

        def get_file_name():
            self.file_name = filedialog.askdirecctory()
            if self.file_name == "":
                messagebox.showinfo('哥',"选择配置表目录")

            else:
                filename['state'] = NORMAL
                filename.delete(0,'end')
                filename.insert(0,self.file_name)
                filename['state'] = DISABLED

        def start_check():
            if self.file_name == "":
                messagebox.showinfo('哥',"选择配置表目录")
            else:
                messagebox.showinfo('哥',"要有耐心,抽根烟等等呗")
                getnode = search.get() #获取输入的内容
                excel_file = searchword.file_name(self.file_name)
                result = searchword.search_word_in_file(getnode,excel_file,self.file_name)

                #下面是显示框
                textnode = Text(mssage,width = 60,height = 25,wrap = 'node')
                textnode.grid(column = 1, row = 3)
                #下面添加滚动条
                #创建横向滚动条
                vbar = ttk.Scrollbar(mssage,orient=VERTICAL,command=textnode.yview)
                textnode.configure(yscrollcommand=vbar.set)
                vbar.grid(column=1,row=3,sticky=N+S+E)
                #创建横向滚动条
                vbar = ttk.Scrollbar(mssage,orient=HORIZONTAL,command=textnode.xview)
                textnode.configure(xscrillcommand=vbar.set)
                vbar.grid(column=1,row=4,sticky=E+W)
                textnode.delete(0.0,END)# 赋值前先初始化
                for i in result:
                    textnode.insert(END,i)
                textnode['state'] = DISABLED


        #浏览文件筐
        ttk.Label(mssage,text="配置表地址:").grid(column=0,row=0)
        filename=Entry(mssage,width=60,state='disabled')
        filename.grid(column=1,row=0,ipady=8)
        file_name=ttk.Button(mssage,text='浏览文件',width=10,command=get_file_name)
        file_name.grid(column=2,row=0,ipady=8)
        #搜索框
        ttk.Label(mssage,text="请输入搜索内容:").grid(column=0,row=1)
        search=Entry(mssage,width=60)
        search.grid(column=1,row=1,ipady=8)
        checkbtn=ttk.Button(mssage,text='开始检查',width=15,command=start_check)
        checkbtn.grid(column=1,row=2,ipady=10)




        mssage.mainloop()
打包

cxfreeze,pyinstaller,py2exe三种方式

目前网上能获取的免费的Python打包工具主要有三种:py2exe、PyInstaller和cx_Freeze。其中PyInstaller最新版只支持Python2.7,py2exe计划开发支持python3.x版本,但是目前还没有完成。只有cx_Freeze支持python3.X版本,也支持python2.X版本。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值