def save_data_event(self): self.path = "" self.path = input("请输入数据所在路径:") # 路径为空直接返回 if self.path == "": print("请输入路径!") return -1 self.path = self.path + "/" # 初始化 save_data = SaveData() print("开始存储.") # 获取指定文件夹列表 dir_names = [name for name in os.listdir(self.path) if 'WIFI+' in name] for dir_name in dir_names: phone_model = (dir_name.split('+'))[1] # 获取手机型号 dir_path = self.path + dir_name + "/" # 显示进度 print("目录 " + dir_path + " 下的文件正在存储.") # 获取指定目录下所有数据的文件名 self.file_name = [] tt = os.walk(dir_path) for i in tt: for j in i[2]: if ".txt" in j: self.file_name.append(j) # 遍历文件夹,存储所有数据 file_len = len(self.file_name) for x in range(file_len): file = self.file_name[x] begin_time = time.time() print(file + " saving...[" + str(x + 1) + "/" + str(file_len) + "]") # 存储单文件数据 flag = save_data.data_save(dir_path, file, phone_model) if flag != 1: # 存储出错 print("数据库插入数据出错.") print("出错位置:" + file + " " + flag) save_data.close_connect() return -1 end_time = time.time() print(file + " saved,time:" + str(int(end_time - begin_time)) + "s") print("该文件夹存储完成.") # 全部存储结束断开连接 save_data.close_connect() print("结束存储.") return 1
def save_data_event(): wifi_path = "Wi-Fi_Data/" bt_path = "BT_Data/" save_data = SaveData() print("开始存储") # 获取文件夹列表 dir_names = [name for name in os.listdir(wifi_path)] for dir_name in dir_names: room_name = dir_name.split("_")[0] room_device = room_devices[room_name] #设备匹配 addr = "shilintong" + room_name # 显示进度 print(room_name + " 下的文件正在存储") file_names = [name for name in os.listdir(wifi_path + dir_name)] for file_name in file_names: file_num = file_name.split("_")[0] # 说明:按照遥感测绘坐标系规定应该是,N为x正方向,E为y正方向 # 但此处在处理之前n和e弄混了,因此x,y和n,e的对应刚好是反的 # 警示后人 coo_x = file_name.split("_")[1] coo_y = (file_name.split("_")[2])[:-4] begin_time = time.time() # 存储wifi文件数据 flag = save_data.data_save(wifi_path + dir_name + "/" + file_name, 1, addr, coo_x, coo_y, room_device) if flag != 1: # 存储出错 print("出错位置:" + wifi_path + dir_name + "/" + file_num + " " + flag) save_data.close_connect() return -1 # 存储bt单文件数据 bt_file_names = [name for name in os.listdir(bt_path + dir_name)] if file_name in bt_file_names: flag = save_data.data_save( bt_path + dir_name + "/" + file_name, 2, addr, coo_x, coo_y, room_device) else: flag = save_data.data_save( bt_path + dir_name + "/" + file_num + ".csv", 2, addr, coo_x, coo_y, room_device) if flag != 1: # 存储出错 print("出错位置:" + bt_path + dir_name + "/" + file_num + " " + flag) save_data.close_connect() return -1 end_time = time.time() # print(dir_name + "/"+ file_num + " saved,time:"+str(int(end_time-begin_time))+"s") # print("该文件夹存储完成.") # 全部存储结束断开连接 save_data.close_connect() return 1
def save_data_event(self, set_button): scr_text.delete(0.0, END) # 清空text self.path = r_path.get() # 获取路径 # 路径为空直接返回 if self.path == "": scr_text.insert(END, "请选择路径!\n") scr_text.see(END) return -1 self.path = self.path + "/" #禁用按钮 b1['state'] = DISABLED b2['state'] = DISABLED b3['state'] = DISABLED # 初始化 save_data = SaveData() # 显示进度 scr_text.insert(END, "目录" + self.path + " 下的文件正在存储\n") scr_text.see(END) # 获取指定目录下所有数据的文件名 self.file_name = [] tt = os.walk(self.path) for i in tt: for j in i[2]: if ".txt" in j: self.file_name.append(j) # 遍历文件夹,存储所有数据 file_len = len(self.file_name) for x in range(file_len): file = self.file_name[x] begin_time = time.time() scr_text.insert( END, file + " saving...[" + str(x + 1) + "/" + str(file_len) + "]\n") scr_text.see(END) # 存储单文件数据 if set_button == 0: # 0=完整数据存储 flag = save_data.complete_data_save(self.path, file) else: # 1=原始数据存储 flag = save_data.initial_data_save(self.path, file) if flag != 1: # 存储出错 scr_text.insert(END, "数据库插入数据出错\n") scr_text.see(END) scr_text.insert(END, "出错位置:" + file + " " + flag) scr_text.see(END) break end_time = time.time() scr_text.insert( END, file + " saved,time:" + str(int(end_time - begin_time)) + "s\n") scr_text.see(END) scr_text.insert(END, "操作结束.") scr_text.see(END) # 操作结束断开连接 save_data.close_connect() #开启按钮 b1['state'] = NORMAL b2['state'] = NORMAL b3['state'] = NORMAL return 1
def save_data_event(self): scr_text.delete(0.0, END) # 清空text self.path = r_path.get() # 获取路径 # 路径为空直接返回 if self.path == "": scr_text.insert(END, "请选择路径!\n") scr_text.see(END) return -1 self.path = self.path + "/" #禁用按钮 b1['state'] = DISABLED b3['state'] = DISABLED # 初始化 save_data = SaveData() scr_text.insert(END, "开始存储\n") scr_text.see(END) phone_model = "none" # 获取手机型号 dir_path = self.path # 显示进度 scr_text.insert(END, "目录" + dir_path + " 下的文件正在存储\n") scr_text.see(END) # 获取指定目录下所有数据的文件名 self.file_name = [] tt = os.walk(dir_path) for i in tt: for j in i[2]: if ".txt" in j: self.file_name.append(j) # 遍历文件夹,存储所有数据 file_len = len(self.file_name) for x in range(file_len): file = self.file_name[x] begin_time = time.time() scr_text.insert( END, file + " saving...[" + str(x + 1) + "/" + str(file_len) + "]\n") scr_text.see(END) # 存储单文件数据 flag = save_data.data_save(dir_path, file, phone_model) if flag != 1: # 存储出错 scr_text.insert(END, "数据库插入数据出错\n") scr_text.see(END) scr_text.insert(END, "出错位置:" + file + " " + flag) scr_text.see(END) save_data.close_connect() #开启按钮 b1['state'] = NORMAL b3['state'] = NORMAL return -1 end_time = time.time() scr_text.insert( END, file + " saved,time:" + str(int(end_time - begin_time)) + "s\n") scr_text.see(END) scr_text.insert(END, "该文件夹存储完成.\n") scr_text.see(END) # 全部存储结束断开连接 save_data.close_connect() scr_text.insert(END, "结束存储\n") scr_text.see(END) #开启按钮 b1['state'] = NORMAL b3['state'] = NORMAL return 1
def save_data_event(self): scr_text.delete(0.0, END) # 清空text self.path = r_path.get() # 获取路径 # 路径为空直接返回 if self.path == "": scr_text.insert(END, "请选择路径!\n") scr_text.see(END) return -1 self.path = self.path + "/" tt_time = [] with open('time.csv', 'r') as file_read: while True: lines = file_read.readline() # 读取整行数据 if not lines: break tt_time.append(lines.split("\n")[0].split(",")) tt_time = tt_time[0:-1] print(tt_time) #禁用按钮 b1['state'] = DISABLED b3['state'] = DISABLED # 初始化 save_data = SaveData() scr_text.insert(END, "开始存储\n") scr_text.see(END) # 获取指定文件夹列表 dir_names = [name for name in os.listdir(self.path) if 'WIFI+' in name] for dir_name in dir_names: phone_model = (dir_name.split('+'))[1] # 获取手机型号 dir_path = self.path + dir_name + "/" # 显示进度 scr_text.insert(END, "目录" + dir_path + " 下的文件正在存储\n") scr_text.see(END) # 获取指定目录下所有数据的文件名 self.file_name = [] tt = os.walk(dir_path) for i in tt: for j in i[2]: if ".txt" in j: self.file_name.append(j) # 遍历文件夹,存储所有数据 file_len = len(self.file_name) for x in range(file_len): file = self.file_name[x] begin_time = time.time() scr_text.insert( END, file + " saving...[" + str(x + 1) + "/" + str(file_len) + "]\n") scr_text.see(END) # 存储单文件数据 flag = save_data.data_save(dir_path, file, phone_model, tt_time) if isinstance(flag, str): # 存储出错 scr_text.insert(END, "数据库插入数据出错\n") scr_text.see(END) scr_text.insert(END, "出错位置:" + file + " " + flag) scr_text.see(END) save_data.close_connect() #开启按钮 b1['state'] = NORMAL b3['state'] = NORMAL return -1 end_time = time.time() scr_text.insert( END, file + " saved,time:" + str(int(end_time - begin_time)) + "s\n") scr_text.see(END) scr_text.insert(END, "该文件夹存储完成.\n") scr_text.see(END) # 全部存储结束断开连接 save_data.close_connect() scr_text.insert(END, "结束存储\n") scr_text.see(END) #开启按钮 b1['state'] = NORMAL b3['state'] = NORMAL return 1