import pandas as pd import datetime # 获取当前日期,格式为年月日 now = datetime.datetime.now().strftime('%Y%m%d') # 读取Excel文件 data = pd.read_excel(r'E:\每日数据\智能POS明细.xlsx',dtype={'商户编号':str,'终端编号':str}) # 获取省份列表 department_list = data['省份'].unique() while True: # 按省打印和全部打印选择 choice = input('1 按省提取 2 全部提取' '\n请选择提取内容,按任意键退出:') if choice == '1': # 用户输入省份名称 department_name = input('请输入省份名称:') # 按照省份拆分数据 if department_name in department_list: new_df = data[data['省份'] == department_name ] file_name = department_name + '智能POS明细' + now + '.xlsx' new_df.to_excel(file_name, index=False) else: print('无法找到该省份!') elif choice == '2': # 循环按照省份拆分数据 for department in department_list: new_df = data[data['省份'] == department] file_name = department + '智能POS明细' + now + '.xlsx' new_df.to_excel(file_name, index=False)
时间: 2024-03-25 16:39:03 浏览: 59
要将此代码转换为窗口应用程序,您需要使用GUI库(如Tkinter、PyQt、wxPython等)创建一个窗口,然后将代码作为事件处理程序与窗口中的控件(如按钮、文本框等)相关联。
以下是一个基本示例,使用Tkinter库创建一个窗口并将代码添加到按钮的单击事件处理程序中:
```python
import pandas as pd
import datetime
import tkinter as tk
# 获取当前日期,格式为年月日
now = datetime.datetime.now().strftime('%Y%m%d')
# 读取Excel文件
data = pd.read_excel(r'E:\每日数据\智能POS明细.xlsx',dtype={'商户编号':str,'终端编号':str})
# 获取省份列表
department_list = data['省份'].unique()
# 事件处理程序,按省份提取数据
def extract_by_department():
# 用户输入省份名称
department_name = department_entry.get()
# 按照省份拆分数据
if department_name in department_list:
new_df = data[data['省份'] == department_name ]
file_name = department_name + '智能POS明细' + now + '.xlsx'
new_df.to_excel(file_name, index=False)
result_label.config(text="数据提取成功!")
else:
result_label.config(text="无法找到该省份!")
# 事件处理程序,全部提取数据
def extract_all():
# 循环按照省份拆分数据
for department in department_list:
new_df = data[data['省份'] == department]
file_name = department + '智能POS明细' + now + '.xlsx'
new_df.to_excel(file_name, index=False)
result_label.config(text="数据提取成功!")
# 创建窗口
window = tk.Tk()
window.title("智能POS明细数据提取")
window.geometry("400x200")
# 创建控件
department_label = tk.Label(window, text="省份名称:")
department_entry = tk.Entry(window)
extract_by_department_button = tk.Button(window, text="按省提取", command=extract_by_department)
extract_all_button = tk.Button(window, text="全部提取", command=extract_all)
result_label = tk.Label(window, text="")
# 显示控件
department_label.pack()
department_entry.pack()
extract_by_department_button.pack()
extract_all_button.pack()
result_label.pack()
# 运行窗口
window.mainloop()
```
请注意,此示例中省份名称和结果标签都是使用Label和Entry控件创建的,而提取按钮使用Button控件创建,并将其单击事件处理程序设置为extract_by_department和extract_all函数。当用户单击按钮时,相关的事件处理程序将运行并提取数据。
这只是一个基本示例,您可以根据需要添加更多控件和事件处理程序。
阅读全文