Python 脚本打包成可执行的 .exe 文件
需求
提取州信息,插入到后面一列。
脚本
import tkinter as tk
from tkinter import filedialog, messagebox
import pandas as pd
import re
import osdef extract_state(address):if pd.isna(address):return ''# 提取两个大写字母的州缩写,例如 OR, CA, NYmatch = re.search(r',\s*([A-Z]{2})\b', address)return match.group(1) if match else ''def process_file(filepath):try:df = pd.read_excel(filepath)# 提取州信息df['Shopper'] = df['Shopper Billing Address'].apply(extract_state)# 将 'Shopper' 列移动到第3列(即插入到 C 列)cols = list(df.columns)shopper_index = cols.index('Shopper')cols.insert(2, cols.pop(shopper_index)) # 把 'Shopper' 移到第3个位置df = df[cols]# 保存新文件output_path = os.path.splitext(filepath)[0] + "_with_shopper.xlsx"df.to_excel(output_path, index=False)messagebox.showinfo("完成", f"处理完成,文件已保存为:\n{output_path}")except Exception as e:messagebox.showerror("错误", str(e))def open_file():filepath = filedialog.askopenfilename(title="选择 Excel 文件",filetypes=[("Excel 文件", "*.xlsx *.xls")])if filepath:process_file(filepath)# 创建 GUI 界面
root = tk.Tk()
root.title("提取州字段 - Excel工具")
root.geometry("300x150")btn = tk.Button(root, text="选择并处理Excel文件", command=open_file, padx=10, pady=5)
btn.pack(pady=40)root.mainloop()
运行会弹出图形化界面:
上传文件会进行生成新的文件,插入州信息。
打包
1. 安装 PyInstaller
pip install pyinstaller
2.运行打包命令
pyinstaller --onefile --windowed python_gui.py
参数解释:
●--onefile:该参数会将所有依赖项打包成一个单独的 .exe 文件,方便分发和使用。
●--windowed:对于 GUI 程序,使用此参数可以避免在运行 .exe 文件时弹出命令行窗口。
3. 等待打包完成
运行上述命令后,PyInstaller 会开始分析脚本的依赖关系,并将所有必要的文件打包成一个 .exe
文件。这个过程可能需要一些时间,具体取决于脚本的复杂度和依赖项的数量。
4. 找到生成的 .exe 文件
打包完成后,PyInstaller 会在当前目录下创建一个 dist 文件夹,里面包含生成的 .exe 文件。可以将这个 .exe 文件复制到其他地方运行,无需安装 Python 环境和依赖库。
双击即可执行脚本。
若有收获,就点个赞吧