初学者的第一个小工具----通过excel更改照片名

初学者的第一个小工具
本意是想要制作一个通过界面修改的工具
1,构思ui界面设计
2,编写ui代码
3,编写功能代码
4,将ui和功能相互结合
5,将代码改为exe格式,完成
我这里的编写顺序可能有些问题,大佬勿喷

1,通过excel更改,所以就需要一个excel的地址,一个照片所在的地址,那么就需要两个输入框,两个对应的文字提示,还有两个输入的按钮(这里写一个按钮将两个值一起传走应该也是可以的)。
2,ui代码的编写,从输入框输入,然后再通过按钮绑定的方法将值传入下面的代码中,直接上代码!

window = Tk()
window.title('我是输入框')
window.geometry('550x100')
#Ww我是格式

a = Label(window,text="请输入图片存放的文件夹路径:")
a.place(x=0,y=0)
a1 = Label(window,text='请输入人员表的路径+文件名,例如F:/人员表:')
a1.place(x=0,y=30)
e = Text(window,width='30',height='1.5')
e.place(x=250,y=0)
e1 = Text(window,width='30',height='1.5')
e1.place(x=250,y=30)
#我是获取输入框的大小

def print_name():
    s = e.get('1.0','5.5')
    path = s.strip()
    print(path)
def print_name1():
    ss = e1.get('1.0','5.5')
    path2 = ss.strip()+'.xlsx'
    print(path2)
#我是获取输入框大小的方法

b1 = Button(window, text='确定1', width=5, height=1,command=print_name)
b1.place(x=485,y=0)
b2 = Button(window, text='确定2', width=5, height=1,command=print_name1)
b2.place(x=485,y=30)
#我是按钮
window.mainloop()

《初学者的第一个小工具----通过excel更改照片名》

3,编写功能代码,编写这里的时候,进度比较缓慢,好多方法不能熟练使用
这里需要获取照片的名字,还不可以带有jpg的后缀,之后就是文件修改后,原文件是会消失的,所以需要再建一个文件夹来存放修改后的照片,上代码。

path = input('请输入图片存放的文件夹路径:')
path2 = input('请输入人员表的路径+文件名,例如F:/人员表:')+'.xlsx'
excel_id=xlrd.open_workbook(path2) #人员表的路径
datas=os.listdir(path) #图片存放的文件夹
#print(datas) #打印的是.jpg的列表

print("打开表格成功")
sheet_id=excel_id.sheet_by_index(0)
print(sheet_id)
rows = sheet_id.nrows
print(rows) #一共有多少行

for data in datas:
    name=data.split(".")[0] #表里的员工名称不带.jpg的后缀,用这个
    #name=data #表里的员工名称带.jpg的后缀,用这个
    name=str(name)
    #print(name) #打印文件中所有图片的名称 #不带.jpg
    for row in range(rows):

        if name == sheet_id.cell(row, 0).value:

                id=sheet_id.cell(row,1).value
                #print(id)
                new_data=int(id)
                print(new_data)
                path_data= path+"\\"+data #图片存放的文件夹路径
                path_new_data=path+"\\"+str(new_data)+".jpg" #图片存放的文件夹路径
                os.rename(path_data,path_new_data) #path_data是待修改的文件名,path_new_data是新的文件名

4,然后就是将代码和ui结合了,这一步是我遇到问题最大的一步,因为第一次写这种,所以完全不知道该怎么处理,一开始就是想将两个按钮获取到的数值直接穿给下面的代码中即可,但是实际操作上,就会发现,不能简单的直接传值,因为python的u界面是需要循环window.mainloop()才能运行起来的,也就是说,无论你在里面输入了什么值,按下按钮,关闭界面之后都不会保存下来,那么我直接把需要值的代码写入循环中呢,试验过后,还是不行可以跑,但是你输出path的时候会发现他根本没有值,最后终于想到了全局变量(这个脑子)把需要数值的代码写入ui中,然后再将值声明为全局变量,终于解决了这个问题,很是兴奋,上代码。

from asyncio.windows_events import NULL
from tkinter import *
import os
import xlrd


window = Tk()
window.title('我是输入框')
window.geometry('550x100')
#Ww我是格式

a = Label(window,text="请输入图片存放的文件夹路径:")
a.place(x=0,y=0)
a1 = Label(window,text='请输入人员表的路径+文件名,例如F:/人员表:')
a1.place(x=0,y=30)
e = Text(window,width='30',height='1.5')
e.place(x=250,y=0)
e1 = Text(window,width='30',height='1.5')
e1.place(x=250,y=30)
#我是获取输入框的大小
path = str()
path2 = str()
excel_id = { }
datas=NULL

def print_name():
    global path
    s = e.get('1.0','5.5')
    path = s.strip()
    print(path)
    global datas
    datas = os.listdir(path)
def print_name1():
    global path2
    ss = e1.get('1.0','5.5')
    path2 = ss.strip()+'.xlsx'
    print(path2)
    global excel_id
    excel_id = xlrd.open_workbook(path2)
#我是获取输入框大小的方法

b1 = Button(window, text='确定1', width=5, height=1,command=print_name)
b1.place(x=485,y=0)
b2 = Button(window, text='确定2', width=5, height=1,command=print_name1)
b2.place(x=485,y=30)
#我是按钮
window.mainloop()

print("打开表格成功")
sheet_id=excel_id.sheet_by_index(0)
print(sheet_id)
rows = sheet_id.nrows
print(rows) #一共有多少行

for data in datas:
    name=data.split(".")[0] #我是表里的人名不带.jpg的后缀
    name1=str(name)#我打印文件中所有图片的名称并且不带后缀
    for row in range(rows):
        if name == sheet_id.cell(row, 0).value:
                id=sheet_id.cell(row,1).value
                #print(id)
                new_data=int(id)
                print(new_data)
                path_data= path+"\\"+data #我是修改前文件保存路径
                print(path_data)
                path_new_data = path+"\\"+str(new_data)+".jpg" #我是修改后文件保存路径
                print(path_new_data)
                os.rename(path_data,path_new_data) #我修改名字


5,将py代码转换成exe格式
转换为exe格式就可以不用打开编程软件也可以使用代码的功能,这里我借鉴了本站大佬的方法。这是连接
首先需要下载两个工具,pyinstaller和pywin32(这个是有32和64两种,按需下载即可)下载完毕后,进入命令窗口(windows+r),然后输入pyinstaller [opts] program.py运行,如果只要一个exe文件的话,【】中写-F就行,其他的请点击连接去看原作者的文章,(注意,这里在发送指令之前,需要先将文件放入前两个下载的文件夹,然后再发送)完成后,可以在命令窗口中找到文件放在哪了。
《初学者的第一个小工具----通过excel更改照片名》
以上就是小白的第一个python工具制作过程,感谢观看。(●ˇ∀ˇ●)

    原文作者:爱模型和代码的肥宅
    原文地址: https://blog.csdn.net/weixin_50520838/article/details/123182017
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞