GUI界面
#---------------------------------------------------------------------------------------------------------------------------------------------------
import tkinter as tk
import tkinter.font
root = tk.Tk() ##创建一个主窗口容纳整个GUI程序
# Form_1 = tk.Frame(root, height=914, width=528, relief='raised', bd=3)
#顶层标签
Label_men = tk.Label(root,text="环境监测数据上传",width = 10,height = 4)
Label_men.place(x = 0,y = 1,width = 914,height = 35)
Label_men.configure(bg = "#8285fd")
Label_men.configure(relief = "flat")
Label_men_Ft=tkinter.font.Font(family='Microsoft YaHei UI', size=14,weight='bold',slant='roman',underline=0,overstrike=0)
Label_men.configure(font = Label_men_Ft)
#最下面分割线
Label_DOWN = tk.Label(root,text="",width = 10,height = 4)
Label_DOWN.place(x = -10,y = 362,width = 939,height = 0)
Label_DOWN.configure(bg = "#000000")
Label_DOWN.configure(relief = "flat")
#Name组件
Label_Name = tk.Label(root,text="Name",width = 10,height = 4)
Label_Name.place(x = 218,y = 366,width = 100,height = 24)
Label_Name.configure(bg = "#c0c0c0")
Label_Name.configure(relief = "flat")
#ip标签
Label_IP = tk.Label(root,text="IP",width = 10,height = 4)
Label_IP.place(x = 218,y = 397,width = 100,height = 24)
Label_IP.configure(bg = "#c0c0c0")
Label_IP.configure(relief = "flat")
#Port组件
Label_PORT = tk.Label(root,text="Port",width = 10,height = 4)
Label_PORT.place(x = 218,y = 428,width = 100,height = 24)
Label_PORT.configure(bg = "#c0c0c0")
Label_PORT.configure(relief = "flat")
#MN标签
Label_MN = tk.Label(root,text="MN",width = 10,height = 4)
Label_MN.place(x = 218,y = 462,width = 100,height = 23)
Label_MN.configure(bg = "#c0c0c0")
Label_MN.configure(relief = "flat")
Label_PWD = tk.Label(root,text="PWD",width = 10,height = 4)
Label_PWD.place(x = 218,y = 496,width = 100,height = 24)
Label_PWD.configure(bg = "#c0c0c0")
Label_PWD.configure(relief = "flat")
#运行日志标签
Label_log = tk.Label(root,text="运行日志",width = 10,height = 4)
Label_log.place(x = 218,y = 65,width = 693,height = 20)
Label_log.configure(bg = "#408080")
Label_log.configure(relief = "flat")
#左侧分隔符
Label_5 = tk.Label(root,text="",width = 10,height = 4)
Label_5.place(x = 217,y = 36,width = 1,height = 326)
Label_5.configure(bg = "#fbb784")
Label_5.configure(relief = "flat")
#数据审核标签
Label_4 = tk.Label(root,text="数据审核处理",width = 10,height = 4)
Label_4.place(x = 0,y = 36,width = 217,height = 29)
Label_4.configure(bg = "#63675f")
Label_4.configure(relief = "flat")
Label_4_Ft=tk.font.Font(family='Microsoft YaHei UI', size=11,weight='normal',slant='roman',underline=0,overstrike=0)
Label_4.configure(font = Label_4_Ft)
#开始时间
Label_start = tk.Label(root,text="开始时间",width = 10,height = 4)
Label_start.place(x = 0,y = 71,width = 84,height = 20)
Label_start.configure(bg = "#c0c0c0")
Label_start.configure(relief = "flat")
Label_end = tk.Label(root,text="结束时间",width = 10,height = 4)
Label_end.place(x = 0,y = 96,width = 84,height = 20)
Label_end.configure(bg = "#c0c0c0")
Label_end.configure(relief = "flat")
#获取路径标签
Label_file0 = tk.Label(root,text="获取路径",width = 10,height = 4)
Label_file0.place(x = 218,y = 36,width = 130,height = 29)
Label_file0.configure(bg = "#63675f")
Label_file0.configure(relief = "flat")
Label_file0_Ft=tk.font.Font(family='Microsoft YaHei UI', size=11,weight='normal',slant='roman',underline=0,overstrike=0)
Label_file0.configure(font = Label_file0_Ft)
#文件保存路径
Label_26 = tk.Label(root,text="保存路径",width = 10,height = 4)
Label_26.place(x = 6,y = 130,width = 78,height = 20)
Label_26.configure(bg = "#c0c0c0")
Label_26.configure(relief = "flat")
#运行日志文本框
Text_log = tk.Text(root)
Text_log.place(x = 218,y = 82,width = 725,height = 277)
Text_log.configure(bg = "#ffffff")
#获取文件路径
Entry_file = tk.Entry(root)
Entry_file.place(x = 354,y = 36,width = 557,height = 29)
Entry_file.configure(relief = "sunken")
Entry_file.insert(0,r'C:\Users\Administrator\Desktop')
# global input_Entry
input_Entry_file=Entry_file.get()
#开始时间
Entry_star =tk.Entry(root)
Entry_star.place(x = 100,y = 71,width = 82,height = 20)
Entry_star.configure(relief = "sunken")
#结束时间
Entry_end = tk.Entry(root)
Entry_end.place(x = 100,y = 96,width = 82,height = 20)
Entry_end.configure(relief = "sunken")
#IP地址1
Entry_Name = tk.Entry(root)
Entry_Name.place(x = 322,y = 366,width = 112,height = 24)
Entry_Name.configure(relief = "sunken")
Entry_Name.insert(0,'测试')
input_Entry_Name = Entry_Name.get()
#name
Entry_IP = tk.Entry(root)
Entry_IP.place(x = 323,y = 397,width = 111,height = 24)
Entry_IP.configure(relief = "sunken")
Entry_IP.insert(0,'47.111.160.23')
input_Entry_IP = Entry_IP.get()
#PORT端口
Entry_PORT = tk.Entry(root)
Entry_PORT.place(x = 323,y = 432,width = 111,height = 24)
Entry_PORT.configure(relief = "sunken")
Entry_PORT.insert(0,8000)
input_Entry_PORT = Entry_PORT.get()
#MN编号
Entry_MN = tk.Entry(root)
Entry_MN.place(x = 323,y = 465,width = 111,height = 24)
Entry_MN.configure(relief = "sunken")
Entry_MN.insert(0,3333333333)
input_Entry_MN = Entry_PORT.get()
#PWD编号
Entry_PWD = tk.Entry(root)
Entry_PWD.place(x = 323,y = 496,width = 111,height = 24)
Entry_PWD.configure(relief = "sunken")
Entry_PWD.insert(0,'')
input_Entry_PWD = Entry_PORT.get()
#数据保存路径
Entry_file_Q = tk.Entry(root)
Entry_file_Q.place(x = 92,y = 130,width = 120,height = 20)
Entry_file_Q.configure(relief = "sunken")
#---------------------------------------------------------------------------------------------------------------------------
a='接收: ##0075QN=20220426172857473;ST=91;CN=2061;PW=;MN=3412241996;Flag=5;CP=&&ExeRtn=1&&接收: ##0075QN=20220426172857473;ST=91;CN=2061;PW=;MN=3412241996;Flag=5;CP=&&ExeRtn=1&&'
Text_log.insert(1.0, a)
#--------------------------------------------------------------------------------------------------------------------------------
from a import root_fullDataframe
#界面组件
Button_29 = tk.Button(root,text="审核数据上传",command = root_fullDataframe(),width = 10,height = 4)
Button_29.place(x = 6,y = 366,width = 100,height = 28)
from NMHC_READ import func_main
Button_30 = tk.Button(root,text="手动数据回补",command =lambda :func_main(Path=input_Entry_file,IP=input_Entry_IP,Port=input_Entry_PORT,PW=input_Entry_PWD,MN=input_Entry_MN),width = 10,height = 4)
Button_30.place(x = 6,y = 400,width = 100,height = 28)
root.maxsize(914, 528) ##设置最大窗口
root.minsize(914, 528) ##设置最小窗口
root.title("From")
# if __name__ == '__main__':
root.mainloop()
#----------------------------------------------------------------------------------------
#函数模块
import pandas as pd
import datetime
import os
from apscheduler.schedulers.blocking import BlockingScheduler
def root_fullDataframe():
def fumfumfum():
Path=r'C:\Users\Administrator\Desktop'
os.path.abspath(Path)#获取绝对路径
os.chdir(Path)#到当前路径下工作
PD_datareame_txt = pd.read_csv('results.txt', sep='\t',
names=['进样类型', '进样时间', '总烃','总烃Con', 'CH4', 'CH4Con','NMHC','NMHCCon'],
encoding='utf-8',engine='python')
PD_datareame_txt.drop(['总烃','CH4','NMHC'],axis=1,inplace=True)#删除指定名称列
PD_datareame_txt['进样时间']=PD_datareame_txt.进样时间.apply(lambda x: (x[6:10]+x[3:5]+x[0:2]+x[11:13]+x[14:16]+x[17:19])[0:10] + '0000')#修改时间格式
PD_datareame_txt['进样类型'] = PD_datareame_txt.进样类型.apply(lambda x: x.split('.')[0])#处理进样类型列'Air.6.raw'获取进样名称
print("接收2")
print(PD_datareame_txt)
return PD_datareame_txt
scheduler = BlockingScheduler(timezone="Asia/Shanghai")#创建对象
scheduler.add_job(fumfumfum, 'interval', seconds=60)
try:
scheduler.start()
except (KeyboardInterrupt, SystemExit):
pass
command =lambda :root_fullDataframe() 改成command =root_fullDataframe()
你先试试这样好用不,出现别的报错我再帮你改