pandas搭配Gooey、pyinstaller

编程入门 行业动态 更新时间:2024-10-24 14:20:46

<a href=https://www.elefans.com/category/jswz/34/1769643.html style=pandas搭配Gooey、pyinstaller"/>

pandas搭配Gooey、pyinstaller

pandas搭配Gooey、pyinstaller

安装指令

pip install pyinstaller
pip install gooey 
pip install pandas
# 下载过慢添加阿里源 

Gooey

小案例

单程序
控件名控件类型
FileChooser文件选择器
MultiFileChooser文件多选器
DirChooser目录选择器
MultiDirChooser目录多选器
FileSaver文件保存
DateChooser日期选择
TextField文本输入框
Dropdown下拉列表
Counter计数器
CheckBox复选框
RadioGroup单选框
Textarea富文本
from gooey import Gooey
from gooey import GooeyParser@Gooey(program_name="Test_GUI")
def gui_main():parser = GooeyParser(description="Test_GUI")parser.add_argument("Parser", widget="TextField")args = parser.parse_args()print(args)

多程序
from gooey import Gooey
from gooey import GooeyParser@Gooey(program_name="TEST_GUI", language="chinese")
def gui_main():parser = GooeyParser(description="TEST_GUI")sublist_parser = parser.add_subparsers(dest="RESULT")  # 创建一个可生成多 parser的 subparsers对象prs1 = sublist_parser.add_parser("test1")  # 第一个子parserprs1.add_argument("test_name1", widget="Dropdown", metavar="测试", choices=["SUCCSEE", "FAIL"])prs2 = sublist_parser.add_parser("test2")  # 第二个子parserprs2.add_argument("test_name2", metavar="下拉框", widget="Dropdown", choices=["1", "2"], default="1")# 'test_name1' 名称 args.test_name2# metavar   备注,# widget 属性值# choices 下来选择项# default 默认值args = parser.parse_args()print(args)if args.RESULT == "test1":  # 判断是执行哪个parserif args.test_name1 == "SUCCSEE":  # 判断parser下参数输出print("success: ",args.test_name1)else:print("fail: ",args.test_name1)if args.RESULT == "test2":if args.test_name2 == "PASS":print("1:", args.test_name2)else:print("2:", args.test_name2)if __name__ == '__main__':gui_main()

pandas

csv、xlsx、xls去重、更改文件后缀格式

class PandasExcel:def __init__(self):# 当前时间,当前日期self.now_datetime = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")# 处理excel中的csv,去重、更改文件后缀格式def read_csv_deduplication(self, enter_type, excel_path, save_address, header, file_name, deduplication, type_name, encode_format):"""excel的xlsx处理文件:param excel_path: excel文件路径:param save_address: 保存文件路径【目录路径】:param header: 标头,开始行、第几行开始:param file_name: 文件名称:param deduplication: 是否去重:param type_name: 输出的文件类型:param encode_format: 编码格式:return:"""try:# 保存文件路径save_address_all = save_address + '\\' + file_name + '_' + str(self.now_datetime) + f'.{type_name}'print(f'{datetime.datetime.now()}  保存文件中...', flush=True)# 判断输入类型if enter_type == 'csv':# 读取excel数据 csvcsv_data = pd.read_csv(excel_path, encoding=encode_format, header=header-1) if deduplication == False else pd.read_csv(excel_path, encoding=encode_format, header=header-1).drop_duplicates()csv_data.to_csv(save_address_all, index=False,encoding=encode_format) if type_name == 'csv' else csv_data.to_excel(save_address_all,index=False,encoding=encode_format)elif enter_type == 'xlsx' or enter_type == 'xls':# 读取excel数据 xlsx   xlscsv_data = pd.read_excel(excel_path, header=header - 1) if deduplication == False else pd.read_excel(excel_path, header=header - 1).drop_duplicates()csv_data.to_csv(save_address_all, index=False) if type_name == 'csv' else csv_data.to_excel(save_address_all, index=False)else:print(f'{datetime.datetime.now()}  输入类型有误', flush=True)print(f'{datetime.datetime.now()}  处理完成...', flush=True)except Exception as e:raise Exception('文件编码错误,请更改编码格式为:gbk or utf-8') if 'gbk' in e else print(f'{datetime.datetime.now()}  程序运行错误:请联系开发人员,并给予错误截图...', flush=True)

多表合一

    def read_merge_deduplication(self, excel_path, file_name, save_address, enter_type, output_type, header):# 获取文件夹folder_address = pathlib.Path.cwd().joinpath(excel_path)# 多个表格数据添加到listfolder_table_data_list = []for file in folder_address.iterdir():if (file.match(f'*{enter_type}') and enter_type == 'csv'):folder_table_data_list.append(pd.read_csv(file, header=header - 1))elif (file.match(f'*{enter_type}') and enter_type == 'xlsx') or (file.match(f'*{enter_type}') and enter_type == 'xls'):folder_table_data_list.append(pd.read_excel(file, header=header - 1))else:print(f'{datetime.datetime.now()}  遇到不是xlsx/xls/csv文件:%s!!!' % file, flush=True)# 处理数据table_datas = pd.concat(folder_table_data_list)# 保存文件路径save_address_all = save_address + '\\' + file_name + '_' + str(self.now_datetime) + f'.{output_type}'print(f'{datetime.datetime.now()}  保存文件中...', flush=True)table_datas.to_csv(save_address_all, index=False) if output_type == 'csv' else table_datas.to_excel(save_address_all, index=False)# print(f'保存成功,文件地址:{save_address_all}')print(f'{datetime.datetime.now()}  处理完成...', flush=True)

多表合一多sheet

    def read_multi_deduplication(self, excel_path, file_name, save_address, enter_type, header):# 拼接文件名称save_excel = os.path.join(save_address, f'{file_name}_{self.now_datetime}.xlsx')# 获取目录folder_address = pathlib.Path.cwd().joinpath(excel_path)# 迭代目录for indexs, file in enumerate(folder_address.iterdir()):file_name = file.parts[-1].split('.')[0]if enter_type in str(file):if enter_type == 'csv':print(f'{datetime.datetime.now()}  读取成功:{file}', flush=True)csv_xlsx_data = pd.read_csv(file, header=header - 1)else:print(f'{datetime.datetime.now()}  读取成功:{file}', flush=True)csv_xlsx_data = pd.read_excel(file, header=header - 1)if indexs == 0: csv_xlsx_data.to_excel(save_excel, index=False, sheet_name=file_name)else:writer = pd.ExcelWriter(save_excel, mode='a')csv_xlsx_data.to_excel(writer, index=False, sheet_name=file_name, engine='xlsxwriter')writer.save()writer.close()else:print(f'{datetime.datetime.now()}  文件不正确:{file}', flush=True)print(f'{datetime.datetime.now()}  处理完成...', flush=True)

多sheet拆分多表

    def read_split_deduplication(self, excel_path, save_address, output_type, header):if 'xlsx' in str(excel_path) or 'xls' in str(excel_path):print(f'{datetime.datetime.now()}  读取文件中...', flush=True)contents = pd.read_excel(excel_path, sheet_name=None, header=header-1)  # #sheet_name=None就会把所有的sheets读入内存for key in contents:save_address_all = os.path.join(save_address, f'{key}.{output_type}')contents[key].to_csv(os.path.join(save_address_all), index=False) if output_type == 'csv' else contents[key].to_excel(os.path.join(save_address_all), index=False)else:print(f'{datetime.datetime.now()}  该文件不是xlsx/xls,请确保文件后缀格式正确!!!', flush=True)print(f'{datetime.datetime.now()}  处理完成...', flush=True)

EXCEL完成封装

import os, json, random, requests, re, datetime, time, pathlib, sys, codecs
import pandas as pdclass PandasExcel:def __init__(self):# 当前时间,当前日期self.now_datetime = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")# 处理excel中的csv,去重、更改文件后缀格式def read_csv_deduplication(self, enter_type, excel_path, save_address, header, file_name, deduplication, type_name, encode_format):"""excel的xlsx处理文件:param excel_path: excel文件路径:param save_address: 保存文件路径【目录路径】:param header: 标头,开始行、第几行开始:param file_name: 文件名称:param deduplication: 是否去重:param type_name: 输出的文件类型:param encode_format: 编码格式:return:"""try:# 保存文件路径save_address_all = save_address + '\\' + file_name + '_' + str(self.now_datetime) + f'.{type_name}'print(f'{datetime.datetime.now()}  保存文件中...', flush=True)# 判断输入类型if enter_type == 'csv':# 读取excel数据 csvcsv_data = pd.read_csv(excel_path, encoding=encode_format, header=header-1) if deduplication == False else pd.read_csv(excel_path, encoding=encode_format, header=header-1).drop_duplicates()csv_data.to_csv(save_address_all, index=False,encoding=encode_format) if type_name == 'csv' else csv_data.to_excel(save_address_all,index=False,encoding=encode_format)elif enter_type == 'xlsx' or enter_type == 'xls':# 读取excel数据 xlsx   xlscsv_data = pd.read_excel(excel_path, header=header - 1) if deduplication == False else pd.read_excel(excel_path, header=header - 1).drop_duplicates()csv_data.to_csv(save_address_all, index=False) if type_name == 'csv' else csv_data.to_excel(save_address_all, index=False)else:print(f'{datetime.datetime.now()}  输入类型有误', flush=True)print(f'{datetime.datetime.now()}  处理完成...', flush=True)except Exception as e:raise Exception('文件编码错误,请更改编码格式为:gbk or utf-8') if 'gbk' in e else print(f'{datetime.datetime.now()}  程序运行错误:请联系开发人员,并给予错误截图...', flush=True)# 多表合一def read_merge_deduplication(self, excel_path, file_name, save_address, enter_type, output_type, header):# 获取文件夹folder_address = pathlib.Path.cwd().joinpath(excel_path)# 多个表格数据添加到listfolder_table_data_list = []for file in folder_address.iterdir():if (file.match(f'*{enter_type}') and enter_type == 'csv'):folder_table_data_list.append(pd.read_csv(file, header=header - 1))elif (file.match(f'*{enter_type}') and enter_type == 'xlsx') or (file.match(f'*{enter_type}') and enter_type == 'xls'):folder_table_data_list.append(pd.read_excel(file, header=header - 1))else:print(f'{datetime.datetime.now()}  遇到不是xlsx/xls/csv文件:%s!!!' % file, flush=True)# 处理数据table_datas = pd.concat(folder_table_data_list)# 保存文件路径save_address_all = save_address + '\\' + file_name + '_' + str(self.now_datetime) + f'.{output_type}'print(f'{datetime.datetime.now()}  保存文件中...', flush=True)table_datas.to_csv(save_address_all, index=False) if output_type == 'csv' else table_datas.to_excel(save_address_all, index=False)# print(f'保存成功,文件地址:{save_address_all}')print(f'{datetime.datetime.now()}  处理完成...', flush=True)# 多表合一多sheetdef read_multi_deduplication(self, excel_path, file_name, save_address, enter_type, header):# 拼接文件名称save_excel = os.path.join(save_address, f'{file_name}_{self.now_datetime}.xlsx')# 获取目录folder_address = pathlib.Path.cwd().joinpath(excel_path)# 迭代目录for indexs, file in enumerate(folder_address.iterdir()):file_name = file.parts[-1].split('.')[0]if enter_type in str(file):if enter_type == 'csv':print(f'{datetime.datetime.now()}  读取成功:{file}', flush=True)csv_xlsx_data = pd.read_csv(file, header=header - 1)else:print(f'{datetime.datetime.now()}  读取成功:{file}', flush=True)csv_xlsx_data = pd.read_excel(file, header=header - 1)if indexs == 0: csv_xlsx_data.to_excel(save_excel, index=False, sheet_name=file_name)else:writer = pd.ExcelWriter(save_excel, mode='a')csv_xlsx_data.to_excel(writer, index=False, sheet_name=file_name, engine='xlsxwriter')writer.save()writer.close()else:print(f'{datetime.datetime.now()}  文件不正确:{file}', flush=True)print(f'{datetime.datetime.now()}  处理完成...', flush=True)# 多sheet拆分多表def read_split_deduplication(self, excel_path, save_address, output_type, header):if 'xlsx' in str(excel_path) or 'xls' in str(excel_path):print(f'{datetime.datetime.now()}  读取文件中...', flush=True)contents = pd.read_excel(excel_path, sheet_name=None, header=header-1)  # #sheet_name=None就会把所有的sheets读入内存for key in contents:save_address_all = os.path.join(save_address, f'{key}.{output_type}')contents[key].to_csv(os.path.join(save_address_all), index=False) if output_type == 'csv' else contents[key].to_excel(os.path.join(save_address_all), index=False)else:print(f'{datetime.datetime.now()}  该文件不是xlsx/xls,请确保文件后缀格式正确!!!', flush=True)print(f'{datetime.datetime.now()}  处理完成...', flush=True)

Gooey、pandas完整封装

import os, json, random, requests, re, datetime, time, pathlib, sys, codecs
import pandas as pd
from gooey import Gooey, GooeyParserclass PandasExcel:def __init__(self):# 当前时间,当前日期self.now_datetime = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")# 处理excel中的csv,去重、更改文件后缀格式def read_csv_deduplication(self, enter_type, excel_path, save_address, header, file_name, deduplication, type_name, encode_format):"""excel的xlsx处理文件:param excel_path: excel文件路径:param save_address: 保存文件路径【目录路径】:param header: 标头,开始行、第几行开始:param file_name: 文件名称:param deduplication: 是否去重:param type_name: 输出的文件类型:param encode_format: 编码格式:return:"""try:# 保存文件路径save_address_all = save_address + '\\' + file_name + '_' + str(self.now_datetime) + f'.{type_name}'print(f'{datetime.datetime.now()}  保存文件中...', flush=True)# 判断输入类型if enter_type == 'csv':# 读取excel数据 csvcsv_data = pd.read_csv(excel_path, encoding=encode_format, header=header-1) if deduplication == False else pd.read_csv(excel_path, encoding=encode_format, header=header-1).drop_duplicates()csv_data.to_csv(save_address_all, index=False,encoding=encode_format) if type_name == 'csv' else csv_data.to_excel(save_address_all,index=False,encoding=encode_format)elif enter_type == 'xlsx' or enter_type == 'xls':# 读取excel数据 xlsx   xlscsv_data = pd.read_excel(excel_path, header=header - 1) if deduplication == False else pd.read_excel(excel_path, header=header - 1).drop_duplicates()csv_data.to_csv(save_address_all, index=False) if type_name == 'csv' else csv_data.to_excel(save_address_all, index=False)else:print(f'{datetime.datetime.now()}  输入类型有误', flush=True)print(f'{datetime.datetime.now()}  处理完成...', flush=True)except Exception as e:raise Exception('文件编码错误,请更改编码格式为:gbk or utf-8') if 'gbk' in e else print(f'{datetime.datetime.now()}  程序运行错误:请联系开发人员,并给予错误截图...', flush=True)# 多表合一def read_merge_deduplication(self, excel_path, file_name, save_address, enter_type, output_type, header):# 获取文件夹folder_address = pathlib.Path.cwd().joinpath(excel_path)# 多个表格数据添加到listfolder_table_data_list = []for file in folder_address.iterdir():if (file.match(f'*{enter_type}') and enter_type == 'csv'):folder_table_data_list.append(pd.read_csv(file, header=header - 1))elif (file.match(f'*{enter_type}') and enter_type == 'xlsx') or (file.match(f'*{enter_type}') and enter_type == 'xls'):folder_table_data_list.append(pd.read_excel(file, header=header - 1))else:print(f'{datetime.datetime.now()}  遇到不是xlsx/xls/csv文件:%s!!!' % file, flush=True)# 处理数据table_datas = pd.concat(folder_table_data_list)# 保存文件路径save_address_all = save_address + '\\' + file_name + '_' + str(self.now_datetime) + f'.{output_type}'print(f'{datetime.datetime.now()}  保存文件中...', flush=True)table_datas.to_csv(save_address_all, index=False) if output_type == 'csv' else table_datas.to_excel(save_address_all, index=False)# print(f'保存成功,文件地址:{save_address_all}')print(f'{datetime.datetime.now()}  处理完成...', flush=True)# 多表合一多sheetdef read_multi_deduplication(self, excel_path, file_name, save_address, enter_type, header):# 拼接文件名称save_excel = os.path.join(save_address, f'{file_name}_{self.now_datetime}.xlsx')# 获取目录folder_address = pathlib.Path.cwd().joinpath(excel_path)# 迭代目录for indexs, file in enumerate(folder_address.iterdir()):file_name = file.parts[-1].split('.')[0]if enter_type in str(file):if enter_type == 'csv':print(f'{datetime.datetime.now()}  读取成功:{file}', flush=True)csv_xlsx_data = pd.read_csv(file, header=header - 1)else:print(f'{datetime.datetime.now()}  读取成功:{file}', flush=True)csv_xlsx_data = pd.read_excel(file, header=header - 1)if indexs == 0: csv_xlsx_data.to_excel(save_excel, index=False, sheet_name=file_name)else:writer = pd.ExcelWriter(save_excel, mode='a')csv_xlsx_data.to_excel(writer, index=False, sheet_name=file_name, engine='xlsxwriter')writer.save()writer.close()else:print(f'{datetime.datetime.now()}  文件不正确:{file}', flush=True)print(f'{datetime.datetime.now()}  处理完成...', flush=True)# 多sheet拆分多表def read_split_deduplication(self, excel_path, save_address, output_type, header):if 'xlsx' in str(excel_path) or 'xls' in str(excel_path):print(f'{datetime.datetime.now()}  读取文件中...', flush=True)contents = pd.read_excel(excel_path, sheet_name=None, header=header-1)  # #sheet_name=None就会把所有的sheets读入内存for key in contents:save_address_all = os.path.join(save_address, f'{key}.{output_type}')contents[key].to_csv(os.path.join(save_address_all), index=False) if output_type == 'csv' else contents[key].to_excel(os.path.join(save_address_all), index=False)else:print(f'{datetime.datetime.now()}  该文件不是xlsx/xls,请确保文件后缀格式正确!!!', flush=True)print(f'{datetime.datetime.now()}  处理完成...', flush=True)class Solution():@Gooey(program_name="Excel表格数据处理", language="chinese")def __init__(self):self.parser = GooeyParser()self.sublist_parser = self.parser.add_subparsers(dest="RESULT")self.args = Noneself.data_processing = PandasExcel()# 添加gui —— csvdef csv_gui_interface_middle(self):# 添加第一个parserparser = self.sublist_parser.add_parser("数据处理")# 添加保存文件类型 —— ["csv", "xlsx"]parser.add_argument("csv_enter_type", widget="Dropdown", metavar="输入类型", choices=["csv", "xlsx", "xls"], default='csv')# 添加选择程序—— ["默认", "去重"]parser.add_argument("csv_select", widget="Dropdown", metavar="选择程序", choices=["默认", "去重"], default="默认")# 添加开始行数 —— ['1', '2', '3', '4', '5', '6', '7', '8']parser.add_argument("csv_start_header", widget="Dropdown", metavar="开始行数",choices=['1', '2', '3', '4', '5', '6', '7', '8'], default='1')# 添加文件地址,默认 ./文件名称.csvparser.add_argument("csv_file_address", metavar="文件地址", widget="FileChooser", default='./文件名称.csv')# 添加文件名称,默认 _parser.add_argument("csv_text_field", metavar="文件名称", widget="TextField", default='_')# 添加文件目录地址, 默认 .parser.add_argument("csv_directory_address", metavar="输出目录", widget="DirChooser", default='.')# 选择编码格式 —— ['utf-8', 'gbk']parser.add_argument("csv_encoding_format", metavar="编码格式", widget="Dropdown", choices=['utf-8', 'gbk'],default='utf-8')# 添加保存文件类型 —— ["csv", "xlsx"]parser.add_argument("csv_select_type", widget="Dropdown", metavar="输出类型", choices=["csv", "xlsx"], default='csv')# self.args = self.parser.parse_args()# 添加gui —— 合并文件def merge_files_gui_interface_middle(self):# 添加第三个子parser merge 合并文件parser = self.sublist_parser.add_parser("多表合一")# 选择文件夹路径parser.add_argument('merge_folder_address', widget="DirChooser", metavar="输入目录", default='.')# 输入文件后缀类型parser.add_argument('merge_select', widget="Dropdown", metavar="输入类型", choices=["csv", "xlsx", "xls"], default="xlsx")# 添加开始行数 —— ['1', '2', '3', '4', '5', '6', '7', '8']parser.add_argument("merge_start_header", widget="Dropdown", metavar="开始行数",choices=['1', '2', '3', '4', '5', '6', '7', '8'], default='1')# 添加文件名称parser.add_argument("merge_text_field", widget="TextField", metavar="文件名称", default="_")# 输出文件后缀类型parser.add_argument("merge_output_type", widget="Dropdown", metavar="输出类型", choices=["csv", "xlsx", "xls"], default="xlsx")# 保存文件路径parser.add_argument("merge_directory_address", widget="DirChooser", metavar="输出目录", default=".")# 添加gui —— 多表合一多sheetdef multiple_worksheets_interface_middle(self):# 添加第三个子parser multiple 多表合一多sheetparser = self.sublist_parser.add_parser("多表合多sheet")# 选择文件夹路径parser.add_argument('multi_folder_address', widget="DirChooser", metavar="输入目录", default='.')# 输入文件后缀类型parser.add_argument('multi_select', widget="Dropdown", metavar="输入类型", choices=["csv", "xlsx", "xls"], default="xlsx")# 添加开始行数 —— ['1', '2', '3', '4', '5', '6', '7', '8']parser.add_argument("multi_start_header", widget="Dropdown", metavar="开始行数",choices=['1', '2', '3', '4', '5', '6', '7', '8'], default='1')# 添加文件名称parser.add_argument("multi_text_field", widget="TextField", metavar="文件名称", default="_")# 保存文件路径parser.add_argument("multi_directory_address", widget="DirChooser", metavar="输出目录", default=".")# 添加gui —— 多sheet拆分多表def split_files_gui_interface_middle(self):# 添加第四个子parser split 多sheet拆分多表parser = self.sublist_parser.add_parser("多sheet拆分多表")# 选择文件夹路径parser.add_argument('split_folder_address', widget="FileChooser", metavar="输入目录", default='./xlsx')# 输入文件后缀类型parser.add_argument('split_output_type', widget="Dropdown", metavar="输出类型", choices=["csv", "xlsx", "xls"],default="xlsx")# 添加开始行数 —— ['1', '2', '3', '4', '5', '6', '7', '8']parser.add_argument("split_start_header", widget="Dropdown", metavar="开始行数",choices=['1', '2', '3', '4', '5', '6', '7', '8'], default='1')# 保存文件路径parser.add_argument("split_directory_address", widget="DirChooser", metavar="输出目录", default=".")# 总gui —— projectdef gui_project(self):self.csv_gui_interface_middle()# self.xlsx_gui_interface_middle()self.merge_files_gui_interface_middle()self.multiple_worksheets_interface_middle()self.split_files_gui_interface_middle()self.args = self.parser.parse_args()def main(self):if sys.stdout.encoding != 'UTF-8':sys.stdout = codecs.getwriter('utf-8')(sys.stdout.buffer, 'strict')if sys.stderr.encoding != 'UTF-8':sys.stderr = codecs.getwriter('utf-8')(sys.stderr.buffer, 'strict')self.gui_project()print(f'{datetime.datetime.now()}  '+ '—' * 11 + ' 执行开始 ' + '—' * 11, flush=True)# print(f'{datetime.datetime.now()}  处理完成...')if self.args.RESULT == '数据处理':self.data_processing.read_csv_deduplication(excel_path=self.args.csv_file_address, enter_type=self.args.csv_enter_type, header=int(self.args.csv_start_header),file_name=self.args.csv_text_field, save_address=self.args.csv_directory_address,deduplication=True, type_name=self.args.csv_select_type,encode_format=self.args.csv_encoding_format) if self.args.csv_select == '默认' else \self.data_processing.read_csv_deduplication(excel_path=self.args.csv_file_address, enter_type=self.args.csv_enter_type, header=int(self.args.csv_start_header),file_name=self.args.csv_text_field, save_address=self.args.csv_directory_address,deduplication=False, type_name=self.args.csv_select_type,encode_format=self.args.csv_encoding_format)# , encode_format=args.xlsx_encoding_formatelif self.args.RESULT == '多表合一':self.data_processing.read_merge_deduplication(excel_path=self.args.merge_folder_address, header=int(self.args.merge_start_header), file_name=self.args.merge_text_field, enter_type=self.args.merge_select, output_type=self.args.merge_output_type, save_address=self.args.merge_directory_address)elif self.args.RESULT == '多表合多sheet':self.data_processing.read_multi_deduplication(excel_path=self.args.multi_folder_address, file_name=self.args.multi_text_field, save_address=self.args.multi_directory_address, enter_type=self.args.multi_select, header=int(self.args.multi_start_header))elif self.args.RESULT == '多sheet拆分多表':self.data_processing.read_split_deduplication(excel_path=self.args.split_folder_address, header=int(self.args.split_start_header), output_type=self.args.split_output_type, save_address=self.args.split_directory_address)# print('—' * 18 + '执行结束' + '—' * 18)print(f'{datetime.datetime.now()}  '+ '—' * 11 + ' 执行结束 ' + '—' * 11, flush=True)

pyinstaller

打包exe文件

# 简单打包
pyinstall -F xx.py# 去除黑色窗口
pyinstaller -F -w xx.py# 更改exe图标, ico图片后缀名称,图片需更改ico格式
pyinstaller -F -w -i xx.ico xx.py

更多推荐

pandas搭配Gooey、pyinstaller

本文发布于:2024-03-13 02:01:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1732934.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:pandas   Gooey   pyinstaller

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!