当前位置: 首页 > news >正文

佛山网站建设 骏域网站建设哈尔滨网站制作建设

佛山网站建设 骏域网站建设,哈尔滨网站制作建设,做seo需要用到什么软件,在线网页制作工具系列文章目录 文章目录 系列文章目录前言一、新增同机种多个片一起汇总总结 前言 一、新增同机种多个片一起汇总 import os import shutil import zipfile import pandas as pd import xlrd import xlwt import csv from xlutils.copy import copy from openpyxl import Work…

系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、新增同机种多个片一起汇总
  • 总结


前言

一、新增同机种多个片一起汇总

import os
import shutil
import zipfile
import pandas as pd
import xlrd
import xlwt
import csv
from xlutils.copy import copy
from openpyxl import Workbook
from openpyxl import load_workbook
from os.path import dirname
from decimal import Decimal
from openpyxl.utils.dataframe import dataframe_to_rows
# 读写2007 excel
import openpyxl
from openpyxl.styles import numbers
from openpyxl.styles import Alignment
import glob
import tkinter as tk
from tkinter import messagebox
from tkinter import simpledialogdef del_old_zip(file_path):os.remove(file_path)
def decompress(file_path,root):z = zipfile.ZipFile(f"{file_path}","r")z.extractall(path=f"{root}")for names in z.namelist():if names.endswith(file_flag):z.close()return 1z.close()return 0 def start_dir_make(root,dirname):os.chdir(root)os.mkdir(dirname)return os.path.join(root,dirname)def rem_dir_extra(root,father_dir_name):try:for item in os.listdir(os.path.join(root,father_dir_name)):if not os.path.isdir(os.path.join(root,father_dir_name,item)):continueif item == father_dir_name and len(os.listdir(os.path.join(root,father_dir_name))) == 1:os.chdir(root)os.rename(father_dir_name,father_dir_name + '-old')shutil.move(os.path.join(root,father_dir_name + '-old', item),os.path.join(root))os.rmdir(os.path.join(root,father_dir_name + '-old'))rem_dir_extra(root,item)else:rem_dir_extra(os.path.join(root,father_dir_name),item)except Exception as e:print("清除文件夹出错"+str(e))def get_allfile_msg(file_dir):for root, dirs, files in os.walk(file_dir):return root, dirs, [file for file in files if file.endswith('.xls') or file.endswith('.xlsx') or file.endswith('.csv')] def get_allfile_url(root, files):allFile_url = []for file_name in files:file_url = root + "/" + file_nameallFile_url.append(file_url)return allFile_urldef get_file_name(path, suffix = ['.xlsx', '.xls','.csv']):  #'.xlsx', '.xls',tmp_lst = []for root,dirs,files in os.walk(path):for file in files:tmp_lst.append(os.path.join(root, file))return tmp_lstdef extract_last_part_of_path(path):return os.path.basename(path)#定义读取csv_pandas
def read_csv_file(file_path):#参数:error_bad_lines=False跳过错误的行 delimiter=',',encoding = 'gbk',header = 0, engine='python'  sep = r"\s+\s{0}"  encoding = "iso-8859-1"return pd.read_csv(file_path,encoding = 'latin1',sep = r"\s+\s{0}",dtype=object,quotechar="'",delimiter=',',doublequote=True,engine="python",header = 1)   #第2行作为表头if __name__ == '__main__':#反射率标准S1和S2标准一致wave1start = 430wave1end = 530wave1standard = 1.5wave2start = 550wave2end = 780wave2standard = 1.1#***********************mode = input("请选择汇总模式: 1解压 2汇总单件号 3解压汇总单件号 4汇总多个件号 \n") if mode == "1":zippath = input("请输入需解压的文件路径:\n")parent_path = zippathfile_flag = '.zip'flag = 1while flag:for root,dirs,files in os.walk(parent_path):for name in files:if name.endswith(file_flag):new_ws = start_dir_make(root,name.replace(file_flag,""))zip_path = os.path.join(root,name)flag = decompress(zip_path,new_ws)del_old_zip(zip_path)rem_dir_extra(root,name.replace(file_flag,""))print(f'{root}\\{name}'.join(['文件:','\n解压完成\n']))rem_dir_extra(os.path.split(parent_path)[0],os.path.split(parent_path)[1])print("解压完成,请检查!!")elif mode == "2":   Summarypath = input("请输入汇总路径:\n")item = input("请输入汇总件号:(例如:39642A) \n")user_input = input("请输入汇总model,S1或S2或S1S2或S1&S2 \n")standerd_input = input("是否需要标准?\n")if standerd_input == "Y":wb = Workbook()#ws = wb.active#ws.title="Summary"ws = wb.create_sheet("S1S2")ws1 = wb.create_sheet("S1")ws2 = wb.create_sheet("S2")        #设置所有单元格的对齐方式为居中alignment = Alignment(horizontal='center',vertical='center')   titlesS1 = ['data1','data2','data3']    titlesS2 = ['data4','data5','data6']  titlesS1S2 = ['data1','data2','data3','data4','data5','data6']#第一列波段设置区域ws.cell(row = 1,column = 1).value = '判定'ws.cell(row = 1,column = 1).alignment = alignmentws.cell(row = 5,column = 1).value = '文件名'ws.cell(row = 5,column = 1).alignment = alignmentws.cell(row = 6,column = 1).value = 'wave'ws.cell(row = 6,column = 1).alignment = alignmentws1.cell(row = 1,column = 1).value = '判定'ws1.cell(row = 1,column = 1).alignment = alignmentws1.cell(row = 5,column = 1).value = '文件名'ws1.cell(row = 5,column = 1).alignment = alignmentws1.cell(row = 6,column = 1).value = 'wave'ws1.cell(row = 6,column = 1).alignment = alignmentws2.cell(row = 1,column = 1).value = '判定'ws2.cell(row = 1,column = 1).alignment = alignmentws2.cell(row = 5,column = 1).value = '文件名'ws2.cell(row = 5,column = 1).alignment = alignmentws2.cell(row = 6,column = 1).value = 'wave'ws2.cell(row = 6,column = 1).alignment = alignmentfor l in range(380,1051):ws.cell(l-373,1).value = lws.cell(l-373,1).alignment = alignmentws1.cell(l-373,1).value = lws1.cell(l-373,1).alignment = alignmentws2.cell(l-373,1).value = lws2.cell(l-373,1).alignment = alignmentcontinue#*****************************************************************#读取指定文件夹#file_dir = os.getcwd()file_dir = Summarypathcurrent_path = os.path.dirname(os.path.abspath(__file__))#file_dir = r"D:\Users\gxcaoty\Desktop\39526-905\一车间"root, dirs, files = get_allfile_msg(file_dir)allFile_url = get_allfile_url(root, files)dir_numbers = len(dirs)    #file_dir下的文件夹个数count = 0for root,dirs,files in os.walk(file_dir):for file_path in glob.glob(os.path.join(root,'*.csv')):if item in file_path and 'Add' not in file_path:print(file_path)xl = file_pathcount += 1c = countm = c - 1print(f"共发现 {m} 个文件!")#print(files_chose)try:last_part = extract_last_part_of_path(xl)#print(last_part)  #filename为文件名filename = xl csv_data = read_csv_file(filename)df = csv_dataif user_input == "S1":df = df.iloc[:,1:4]df = df.astype(float)#print(df)#**********************************************************combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'#print(combinedwave1)ws1.cell(row = 2,column = 1).value = combinedwave1ws1.cell(row = 3,column = 1).value = combinedwave2#***********************************************************#计算判定区域for n in range(0,3):cal1 = df.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal2 = df.iloc[wave2start-380+2:wave2end-380+2,n].max()  if cal1 <= wave1standard and cal2 <= wave2standard :ws1.cell(row = 1,column = n+2+3*m).value = "OK"ws1.cell(row = 1,column = n+2+3*m).alignment = alignmentelse:ws1.cell(row = 1,column = n+2+3*m).value = "NG"ws1.cell(row = 1,column = n+2+3*m).alignment = alignment#print(ave1,ave2)ws1.cell(row = 2,column = n+2+3*m).value = cal1ws1.cell(row = 3,column = n+2+3*m).value = cal2continue#文件名输出区域ws1.cell(row = 5,column = 2+3*m).value = last_part                     #标题输出区域(data1~data6)for k,title in enumerate(titlesS1,2):                    ws1.cell(row = 6,column = k+3*m).value = titlews1.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws1.cell(row = i+7,column = j+1+3*m).value = valueelif user_input == "S2":df = df.iloc[:,4:7]df = df.astype(float)#print(df)#**********************************************************combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'#print(combinedwave1)ws2.cell(row = 2,column = 1).value = combinedwave1ws2.cell(row = 3,column = 1).value = combinedwave2#***********************************************************#计算判定区域for n in range(0,3):cal1 = df.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal2 = df.iloc[wave2start-380+2:wave2end-380+2,n].max()  if cal1 <= wave1standard and cal2 <= wave2standard :ws2.cell(row = 1,column = n+2+3*m).value = "OK"ws2.cell(row = 1,column = n+2+3*m).alignment = alignmentelse:ws2.cell(row = 1,column = n+2+3*m).value = "NG"ws2.cell(row = 1,column = n+2+3*m).alignment = alignment#print(ave1,ave2)ws2.cell(row = 2,column = n+2+3*m).value = cal1ws2.cell(row = 3,column = n+2+3*m).value = cal2continue#文件名输出区域ws2.cell(row = 5,column = 2+3*m).value = last_part                     #标题输出区域(data1~data6)for k,title in enumerate(titlesS2,2):                    ws2.cell(row = 6,column = k+3*m).value = titlews2.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws2.cell(row = i+7,column = j+1+3*m).value = valueelif user_input == "S1S2":df = df.iloc[:,1:7]df = df.astype(float)#print(df)#**********************************************************combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'#print(combinedwave1)ws.cell(row = 2,column = 1).value = combinedwave1ws.cell(row = 3,column = 1).value = combinedwave2#***********************************************************#计算判定区域for n in range(0,6):cal1 = df.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal2 = df.iloc[wave2start-380+2:wave2end-380+2,n].max()  if cal1 <= wave1standard and cal2 <= wave2standard :ws.cell(row = 1,column = n+2+6*m).value = "OK"ws.cell(row = 1,column = n+2+6*m).alignment = alignmentelse:ws.cell(row = 1,column = n+2+6*m).value = "NG"ws.cell(row = 1,column = n+2+6*m).alignment = alignment#print(ave1,ave2)ws.cell(row = 2,column = n+2+6*m).value = cal1ws.cell(row = 3,column = n+2+6*m).value = cal2continue#文件名输出区域ws.cell(row = 5,column = 2+6*m).value = last_part                     #标题输出区域(data1~data6)for k,title in enumerate(titlesS1S2,2):                    ws.cell(row = 6,column = k+6*m).value = titlews.cell(row = 6,column = k+6*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws.cell(row = i+7,column = j+1+6*m).value = valueelif user_input == "S1&S2":#df = df.iloc[:,1:7]df1 = df.iloc[:,1:4]df2 = df.iloc[:,4:7]df1 = df1.astype(float)df2 = df2.astype(float)#**********************************************************combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'#print(combinedwave1)ws1.cell(row = 2,column = 1).value = combinedwave1ws2.cell(row = 2,column = 1).value = combinedwave1ws1.cell(row = 3,column = 1).value = combinedwave2ws2.cell(row = 3,column = 1).value = combinedwave2#***********************************************************#计算判定区域for n in range(0,3):cal1 = df1.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal2 = df1.iloc[wave2start-380+2:wave2end-380+2,n].max()  cal3 = df2.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal4 = df2.iloc[wave2start-380+2:wave2end-380+2,n].max() if cal1 <= wave1standard and cal2 <= wave2standard :ws1.cell(row = 1,column = n+2+3*m).value = "OK"ws1.cell(row = 1,column = n+2+3*m).alignment = alignmentelse:ws1.cell(row = 1,column = n+2+3*m).value = "NG"ws1.cell(row = 1,column = n+2+3*m).alignment = alignmentif cal3 <= wave1standard and cal4 <= wave2standard :ws2.cell(row = 1,column = n+2+3*m).value = "OK"ws2.cell(row = 1,column = n+2+3*m).alignment = alignmentelse:ws2.cell(row = 1,column = n+2+3*m).value = "NG"ws2.cell(row = 1,column = n+2+3*m).alignment = alignment#print(ave1,ave2)ws1.cell(row = 2,column = n+2+3*m).value = cal1ws1.cell(row = 3,column = n+2+3*m).value = cal2ws2.cell(row = 2,column = n+2+3*m).value = cal3ws2.cell(row = 3,column = n+2+3*m).value = cal4continue#文件名输出区域ws1.cell(row = 5,column = 2+3*m).value = last_part   ws2.cell(row = 5,column = 2+3*m).value = last_part                  #标题输出区域(data1~data6)for k,title in enumerate(titlesS1,2):                    ws1.cell(row = 6,column = k+3*m).value = titlews1.cell(row = 6,column = k+3*m).alignment = alignmentcontinuefor k,title in enumerate(titlesS2,2):                    ws2.cell(row = 6,column = k+3*m).value = titlews2.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df1.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws1.cell(row = i+7,column = j+1+3*m).value = valuefor i ,row in df2.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws2.cell(row = i+7,column = j+1+3*m).value = valueelse:print("非指定指令")except Exception as e:print(e)if user_input == "S1":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S2'])wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)elif user_input == "S2":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S1'])wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)elif user_input == "S1S2":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S1'])wb.remove(wb['S2'])wb.remove(wb['Sheet'])            wb.save(output_file_path)elif user_input == "S1&S2":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)else :print("请检查程序!")  elif standerd_input == "N":wb = Workbook()#ws = wb.active#ws.title="Summary"ws = wb.create_sheet("S1S2")ws1 = wb.create_sheet("S1")ws2 = wb.create_sheet("S2")        #设置所有单元格的对齐方式为居中alignment = Alignment(horizontal='center',vertical='center')   titlesS1 = ['data1','data2','data3']    titlesS2 = ['data4','data5','data6']  titlesS1S2 = ['data1','data2','data3','data4','data5','data6']#第一列波段设置区域ws.cell(row = 5,column = 1).value = '文件名'ws.cell(row = 5,column = 1).alignment = alignmentws.cell(row = 6,column = 1).value = 'wave'ws.cell(row = 6,column = 1).alignment = alignmentws1.cell(row = 5,column = 1).value = '文件名'ws1.cell(row = 5,column = 1).alignment = alignmentws1.cell(row = 6,column = 1).value = 'wave'ws1.cell(row = 6,column = 1).alignment = alignmentws2.cell(row = 5,column = 1).value = '文件名'ws2.cell(row = 5,column = 1).alignment = alignmentws2.cell(row = 6,column = 1).value = 'wave'ws2.cell(row = 6,column = 1).alignment = alignmentfor l in range(380,1051):ws.cell(l-373,1).value = lws.cell(l-373,1).alignment = alignmentws1.cell(l-373,1).value = lws1.cell(l-373,1).alignment = alignmentws2.cell(l-373,1).value = lws2.cell(l-373,1).alignment = alignmentcontinue#*****************************************************************#读取指定文件夹#file_dir = os.getcwd()file_dir = Summarypathcurrent_path = os.path.dirname(os.path.abspath(__file__))#file_dir = r"D:\Users\gxcaoty\Desktop\39526-905\一车间"root, dirs, files = get_allfile_msg(file_dir)allFile_url = get_allfile_url(root, files)dir_numbers = len(dirs)    #file_dir下的文件夹个数count = 0for root,dirs,files in os.walk(file_dir):for file_path in glob.glob(os.path.join(root,'*.csv')):if item in file_path and 'Add' not in file_path:print(file_path)xl = file_pathcount += 1c = countm = c - 1print(f"共发现 {m} 个文件!")#print(files_chose)try:last_part = extract_last_part_of_path(xl)#print(last_part)  #filename为文件名filename = xl csv_data = read_csv_file(filename)df = csv_dataif user_input == "S1":df = df.iloc[:,1:4]df = df.astype(float)#print(df)#文件名输出区域ws1.cell(row = 5,column = 2+3*m).value = last_part                     #标题输出区域(data1~data6)for k,title in enumerate(titlesS1,2):                    ws1.cell(row = 6,column = k+3*m).value = titlews1.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws1.cell(row = i+7,column = j+1+3*m).value = valueelif user_input == "S2":df = df.iloc[:,4:7]df = df.astype(float)#print(df)#文件名输出区域ws2.cell(row = 5,column = 2+3*m).value = last_part                     #标题输出区域(data1~data6)for k,title in enumerate(titlesS2,2):                    ws2.cell(row = 6,column = k+3*m).value = titlews2.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws2.cell(row = i+7,column = j+1+3*m).value = valueelif user_input == "S1S2":df = df.iloc[:,1:7]df = df.astype(float)#print(df)#文件名输出区域ws.cell(row = 5,column = 2+6*m).value = last_part                     #标题输出区域(data1~data6)for k,title in enumerate(titlesS1S2,2):                    ws.cell(row = 6,column = k+6*m).value = titlews.cell(row = 6,column = k+6*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws.cell(row = i+7,column = j+1+6*m).value = valueelif user_input == "S1&S2":#df = df.iloc[:,1:7]df1 = df.iloc[:,1:4]df2 = df.iloc[:,4:7]df1 = df1.astype(float)df2 = df2.astype(float)#文件名输出区域ws1.cell(row = 5,column = 2+3*m).value = last_part   ws2.cell(row = 5,column = 2+3*m).value = last_part                  #标题输出区域(data1~data6)for k,title in enumerate(titlesS1,2):                    ws1.cell(row = 6,column = k+3*m).value = titlews1.cell(row = 6,column = k+3*m).alignment = alignmentcontinuefor k,title in enumerate(titlesS2,2):                    ws2.cell(row = 6,column = k+3*m).value = titlews2.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df1.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws1.cell(row = i+7,column = j+1+3*m).value = valuefor i ,row in df2.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws2.cell(row = i+7,column = j+1+3*m).value = valueelse:print("非指定指令")except Exception as e:print(e)if user_input == "S1":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S2'])wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)elif user_input == "S2":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S1'])wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)elif user_input == "S1S2":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S1'])wb.remove(wb['S2'])wb.remove(wb['Sheet'])            wb.save(output_file_path)elif user_input == "S1&S2":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)else :print("请检查程序!") else:print("非指定指令!")elif mode == "3":zippath = input("请输入需解压的文件路径:\n")item = input("请输入汇总件号:(例如:39642A) \n")standerd_input = input("是否需要标准? \n")if standerd_input == "Y":parent_path = zippathfile_flag = '.zip'flag = 1while flag:for root,dirs,files in os.walk(parent_path):for name in files:if name.endswith(file_flag):new_ws = start_dir_make(root,name.replace(file_flag,""))zip_path = os.path.join(root,name)flag = decompress(zip_path,new_ws)del_old_zip(zip_path)rem_dir_extra(root,name.replace(file_flag,""))print(f'{root}\\{name}'.join(['文件:','\n解压完成\n']))rem_dir_extra(os.path.split(parent_path)[0],os.path.split(parent_path)[1])print("解压完成,请检查!!")print("请输入汇总model,S1或S2或S1S2或S1&S2")wb = Workbook()#ws = wb.active#ws.title="Summary"ws = wb.create_sheet("S1S2")ws1 = wb.create_sheet("S1")ws2 = wb.create_sheet("S2")#设置所有单元格的对齐方式为居中alignment = Alignment(horizontal='center',vertical='center')   titlesS1 = ['data1','data2','data3']    titlesS2 = ['data4','data5','data6']  titlesS1S2 = ['data1','data2','data3','data4','data5','data6']#第一列波段设置区域ws.cell(row = 1,column = 1).value = '判定'ws.cell(row = 1,column = 1).alignment = alignmentws.cell(row = 5,column = 1).value = '文件名'ws.cell(row = 5,column = 1).alignment = alignmentws.cell(row = 6,column = 1).value = 'wave'ws.cell(row = 6,column = 1).alignment = alignmentws1.cell(row = 1,column = 1).value = '判定'ws1.cell(row = 1,column = 1).alignment = alignmentws1.cell(row = 5,column = 1).value = '文件名'ws1.cell(row = 5,column = 1).alignment = alignmentws1.cell(row = 6,column = 1).value = 'wave'ws1.cell(row = 6,column = 1).alignment = alignmentws2.cell(row = 1,column = 1).value = '判定'ws2.cell(row = 1,column = 1).alignment = alignmentws2.cell(row = 5,column = 1).value = '文件名'ws2.cell(row = 5,column = 1).alignment = alignmentws2.cell(row = 6,column = 1).value = 'wave'ws2.cell(row = 6,column = 1).alignment = alignmentfor l in range(380,1051):ws.cell(l-373,1).value = lws.cell(l-373,1).alignment = alignmentws1.cell(l-373,1).value = lws1.cell(l-373,1).alignment = alignmentws2.cell(l-373,1).value = lws2.cell(l-373,1).alignment = alignmentcontinue#*****************************************************************#读取指定文件夹#file_dir = os.getcwd()file_dir = parent_pathcurrent_path = os.path.dirname(os.path.abspath(__file__))#file_dir = r"D:\Users\gxcaoty\Desktop\39526-905\一车间"root, dirs, files = get_allfile_msg(file_dir)allFile_url = get_allfile_url(root, files)dir_numbers = len(dirs)    #file_dir下的文件夹个数user_input = input("请输入S1或S2或S1S2或S1&S2\n")count = 0for root,dirs,files in os.walk(file_dir):for file_path in glob.glob(os.path.join(root,'*.csv')):if item in file_path and 'Add' not in file_path:print(file_path)xl = file_pathcount += 1c = countm = c - 1print(f"共发现 {m} 个文件!")#print(files_chose)try:last_part = extract_last_part_of_path(xl)#print(last_part)  #filename为文件名filename = xl csv_data = read_csv_file(filename)df = csv_dataif user_input == "S1":df = df.iloc[:,1:4]df = df.astype(float)#print(df)#**********************************************************combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'#print(combinedwave1)ws1.cell(row = 2,column = 1).value = combinedwave1ws1.cell(row = 3,column = 1).value = combinedwave2#***********************************************************#计算判定区域for n in range(0,3):cal1 = df.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal2 = df.iloc[wave2start-380+2:wave2end-380+2,n].max()  if cal1 <= wave1standard and cal2 <= wave2standard :ws1.cell(row = 1,column = n+2+3*m).value = "OK"ws1.cell(row = 1,column = n+2+3*m).alignment = alignmentelse:ws1.cell(row = 1,column = n+2+3*m).value = "NG"ws1.cell(row = 1,column = n+2+3*m).alignment = alignment#print(ave1,ave2)ws1.cell(row = 2,column = n+2+3*m).value = cal1ws1.cell(row = 3,column = n+2+3*m).value = cal2continue#文件名输出区域ws1.cell(row = 5,column = 2+3*m).value = last_part                     #标题输出区域(data1~data6)for k,title in enumerate(titlesS1,2):                    ws1.cell(row = 6,column = k+3*m).value = titlews1.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws1.cell(row = i+7,column = j+1+3*m).value = valueelif user_input == "S2":df = df.iloc[:,4:7]df = df.astype(float)#print(df)#**********************************************************combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'#print(combinedwave1)ws2.cell(row = 2,column = 1).value = combinedwave1ws2.cell(row = 3,column = 1).value = combinedwave2#***********************************************************#计算判定区域for n in range(0,3):cal1 = df.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal2 = df.iloc[wave2start-380+2:wave2end-380+2,n].max()  if cal1 <= wave1standard and cal2 <= wave2standard :ws2.cell(row = 1,column = n+2+3*m).value = "OK"ws2.cell(row = 1,column = n+2+3*m).alignment = alignmentelse:ws2.cell(row = 1,column = n+2+3*m).value = "NG"ws2.cell(row = 1,column = n+2+3*m).alignment = alignment#print(ave1,ave2)ws2.cell(row = 2,column = n+2+3*m).value = cal1ws2.cell(row = 3,column = n+2+3*m).value = cal2continue#文件名输出区域ws2.cell(row = 5,column = 2+3*m).value = last_part                     #标题输出区域(data1~data6)for k,title in enumerate(titlesS2,2):                    ws2.cell(row = 6,column = k+3*m).value = titlews2.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws2.cell(row = i+7,column = j+1+3*m).value = valueelif user_input == "S1S2":df = df.iloc[:,1:7]df = df.astype(float)#print(df)#**********************************************************combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'#print(combinedwave1)ws.cell(row = 2,column = 1).value = combinedwave1ws.cell(row = 3,column = 1).value = combinedwave2#***********************************************************#计算判定区域for n in range(0,6):cal1 = df.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal2 = df.iloc[wave2start-380+2:wave2end-380+2,n].max()  if cal1 <= wave1standard and cal2 <= wave2standard :ws.cell(row = 1,column = n+2+6*m).value = "OK"ws.cell(row = 1,column = n+2+6*m).alignment = alignmentelse:ws.cell(row = 1,column = n+2+6*m).value = "NG"ws.cell(row = 1,column = n+2+6*m).alignment = alignment#print(ave1,ave2)ws.cell(row = 2,column = n+2+6*m).value = cal1ws.cell(row = 3,column = n+2+6*m).value = cal2continue#文件名输出区域ws.cell(row = 5,column = 2+6*m).value = last_part                     #标题输出区域(data1~data6)for k,title in enumerate(titlesS1S2,2):                    ws.cell(row = 6,column = k+6*m).value = titlews.cell(row = 6,column = k+6*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws.cell(row = i+7,column = j+1+6*m).value = valueelif user_input == "S1&S2":#df = df.iloc[:,1:7]df1 = df.iloc[:,1:4]df2 = df.iloc[:,4:7]df1 = df1.astype(float)df2 = df2.astype(float)#**********************************************************combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'#print(combinedwave1)ws1.cell(row = 2,column = 1).value = combinedwave1ws2.cell(row = 2,column = 1).value = combinedwave1ws1.cell(row = 3,column = 1).value = combinedwave2ws2.cell(row = 3,column = 1).value = combinedwave2#***********************************************************#计算判定区域for n in range(0,3):cal1 = df1.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal2 = df1.iloc[wave2start-380+2:wave2end-380+2,n].max()  cal3 = df2.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal4 = df2.iloc[wave2start-380+2:wave2end-380+2,n].max() if cal1 <= wave1standard and cal2 <= wave2standard :ws1.cell(row = 1,column = n+2+3*m).value = "OK"ws1.cell(row = 1,column = n+2+3*m).alignment = alignmentelse:ws1.cell(row = 1,column = n+2+3*m).value = "NG"ws1.cell(row = 1,column = n+2+3*m).alignment = alignmentif cal3 <= wave1standard and cal4 <= wave2standard :ws2.cell(row = 1,column = n+2+3*m).value = "OK"ws2.cell(row = 1,column = n+2+3*m).alignment = alignmentelse:ws2.cell(row = 1,column = n+2+3*m).value = "NG"ws2.cell(row = 1,column = n+2+3*m).alignment = alignment#print(ave1,ave2)ws1.cell(row = 2,column = n+2+3*m).value = cal1ws1.cell(row = 3,column = n+2+3*m).value = cal2ws2.cell(row = 2,column = n+2+3*m).value = cal3ws2.cell(row = 3,column = n+2+3*m).value = cal4continue#文件名输出区域ws1.cell(row = 5,column = 2+3*m).value = last_part   ws2.cell(row = 5,column = 2+3*m).value = last_part                  #标题输出区域(data1~data6)for k,title in enumerate(titlesS1,2):                    ws1.cell(row = 6,column = k+3*m).value = titlews1.cell(row = 6,column = k+3*m).alignment = alignmentcontinuefor k,title in enumerate(titlesS2,2):                    ws2.cell(row = 6,column = k+3*m).value = titlews2.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df1.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws1.cell(row = i+7,column = j+1+3*m).value = valuefor i ,row in df2.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws2.cell(row = i+7,column = j+1+3*m).value = valueelse:print("非指定指令")except Exception as e:print(e)if user_input == "S1":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S2'])wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)elif user_input == "S2":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S1'])wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)elif user_input == "S1S2":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S1'])wb.remove(wb['S2'])wb.remove(wb['Sheet'])            wb.save(output_file_path)elif user_input == "S1&S2":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)else :print("请检查程序!")  elif standerd_input == "N":parent_path = zippathfile_flag = '.zip'flag = 1while flag:for root,dirs,files in os.walk(parent_path):for name in files:if name.endswith(file_flag):new_ws = start_dir_make(root,name.replace(file_flag,""))zip_path = os.path.join(root,name)flag = decompress(zip_path,new_ws)del_old_zip(zip_path)rem_dir_extra(root,name.replace(file_flag,""))print(f'{root}\\{name}'.join(['文件:','\n解压完成\n']))rem_dir_extra(os.path.split(parent_path)[0],os.path.split(parent_path)[1])print("解压完成,请检查!!")print("请输入汇总model,S1或S2或S1S2或S1&S2")wb = Workbook()#ws = wb.active#ws.title="Summary"ws = wb.create_sheet("S1S2")ws1 = wb.create_sheet("S1")ws2 = wb.create_sheet("S2")#设置所有单元格的对齐方式为居中alignment = Alignment(horizontal='center',vertical='center')   titlesS1 = ['data1','data2','data3']    titlesS2 = ['data4','data5','data6']  titlesS1S2 = ['data1','data2','data3','data4','data5','data6']#第一列波段设置区域ws.cell(row = 5,column = 1).value = '文件名'ws.cell(row = 5,column = 1).alignment = alignmentws.cell(row = 6,column = 1).value = 'wave'ws.cell(row = 6,column = 1).alignment = alignmentws1.cell(row = 5,column = 1).value = '文件名'ws1.cell(row = 5,column = 1).alignment = alignmentws1.cell(row = 6,column = 1).value = 'wave'ws1.cell(row = 6,column = 1).alignment = alignmentws2.cell(row = 5,column = 1).value = '文件名'ws2.cell(row = 5,column = 1).alignment = alignmentws2.cell(row = 6,column = 1).value = 'wave'ws2.cell(row = 6,column = 1).alignment = alignmentfor l in range(380,1051):ws.cell(l-373,1).value = lws.cell(l-373,1).alignment = alignmentws1.cell(l-373,1).value = lws1.cell(l-373,1).alignment = alignmentws2.cell(l-373,1).value = lws2.cell(l-373,1).alignment = alignmentcontinue#*****************************************************************#读取指定文件夹#file_dir = os.getcwd()file_dir = parent_pathcurrent_path = os.path.dirname(os.path.abspath(__file__))#file_dir = r"D:\Users\gxcaoty\Desktop\39526-905\一车间"root, dirs, files = get_allfile_msg(file_dir)allFile_url = get_allfile_url(root, files)dir_numbers = len(dirs)    #file_dir下的文件夹个数user_input = input("请输入S1或S2或S1S2或S1&S2\n")count = 0for root,dirs,files in os.walk(file_dir):for file_path in glob.glob(os.path.join(root,'*.csv')):if item in file_path and 'Add' not in file_path:print(file_path)xl = file_pathcount += 1c = countm = c - 1print(f"共发现 {m} 个文件!")#print(files_chose)try:last_part = extract_last_part_of_path(xl)#print(last_part)  #filename为文件名filename = xl csv_data = read_csv_file(filename)df = csv_dataif user_input == "S1":df = df.iloc[:,1:4]df = df.astype(float)#print(df)#文件名输出区域ws1.cell(row = 5,column = 2+3*m).value = last_part                     #标题输出区域(data1~data6)for k,title in enumerate(titlesS1,2):                    ws1.cell(row = 6,column = k+3*m).value = titlews1.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws1.cell(row = i+7,column = j+1+3*m).value = valueelif user_input == "S2":df = df.iloc[:,4:7]df = df.astype(float)#print(df)#文件名输出区域ws2.cell(row = 5,column = 2+3*m).value = last_part                     #标题输出区域(data1~data6)for k,title in enumerate(titlesS2,2):                    ws2.cell(row = 6,column = k+3*m).value = titlews2.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws2.cell(row = i+7,column = j+1+3*m).value = valueelif user_input == "S1S2":df = df.iloc[:,1:7]df = df.astype(float)#print(df)#文件名输出区域ws.cell(row = 5,column = 2+6*m).value = last_part                     #标题输出区域(data1~data6)for k,title in enumerate(titlesS1S2,2):                    ws.cell(row = 6,column = k+6*m).value = titlews.cell(row = 6,column = k+6*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws.cell(row = i+7,column = j+1+6*m).value = valueelif user_input == "S1&S2":#df = df.iloc[:,1:7]df1 = df.iloc[:,1:4]df2 = df.iloc[:,4:7]df1 = df1.astype(float)df2 = df2.astype(float)#文件名输出区域ws1.cell(row = 5,column = 2+3*m).value = last_part   ws2.cell(row = 5,column = 2+3*m).value = last_part                  #标题输出区域(data1~data6)for k,title in enumerate(titlesS1,2):                    ws1.cell(row = 6,column = k+3*m).value = titlews1.cell(row = 6,column = k+3*m).alignment = alignmentcontinuefor k,title in enumerate(titlesS2,2):                    ws2.cell(row = 6,column = k+3*m).value = titlews2.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df1.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws1.cell(row = i+7,column = j+1+3*m).value = valuefor i ,row in df2.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws2.cell(row = i+7,column = j+1+3*m).value = valueelse:print("非指定指令")except Exception as e:print(e)if user_input == "S1":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S2'])wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)elif user_input == "S2":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S1'])wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)elif user_input == "S1S2":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S1'])wb.remove(wb['S2'])wb.remove(wb['Sheet'])            wb.save(output_file_path)elif user_input == "S1&S2":output_file_path=os.path.join(current_path,f'Summaryout{item}{user_input}.xlsx')wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)else :print("请检查程序!")  else:print("非指定指令!")elif mode == "4":parent_path = input("请输入汇总路径:\n")#parent_path = r"D:\Users\gxcaoty\Desktop\桌面文件\2025.2.21\TO柳洋text\39827A"file_dir = parent_pathitem_1 = input("请输入汇总机种:(例如:39642A)\n")item_p = input("请输入汇总P数: (例如:5)\n")item_2 = int('90'+str(item_p))standerd_input = input("是否需要标准? \n")if standerd_input == "Y":folder_count = sum(1 for _ in os.scandir(file_dir) if _.is_dir())print(folder_count)user_input = input("请输入汇总model,S1或S2或S1S2或S1&S2 \n")#standerd_input = input("是否需要标准?\n")   with os.scandir(file_dir) as it:for entry in it:if entry.is_dir():print(entry.name)file_dir1 = file_dir+'\\'+entry.nameprint(file_dir1)file_dir2 = file_dir1.replace("\\","")count = 0wb = Workbook()#ws = wb.active#ws.title="Summary"ws = wb.create_sheet("S1S2")ws1 = wb.create_sheet("S1")ws2 = wb.create_sheet("S2")        #设置所有单元格的对齐方式为居中alignment = Alignment(horizontal='center',vertical='center')   titlesS1 = ['data1','data2','data3']    titlesS2 = ['data4','data5','data6']  titlesS1S2 = ['data1','data2','data3','data4','data5','data6']#第一列波段设置区域ws.cell(row = 1,column = 1).value = '判定'ws.cell(row = 1,column = 1).alignment = alignmentws.cell(row = 5,column = 1).value = '文件名'ws.cell(row = 5,column = 1).alignment = alignmentws.cell(row = 6,column = 1).value = 'wave'ws.cell(row = 6,column = 1).alignment = alignmentws1.cell(row = 1,column = 1).value = '判定'ws1.cell(row = 1,column = 1).alignment = alignmentws1.cell(row = 5,column = 1).value = '文件名'ws1.cell(row = 5,column = 1).alignment = alignmentws1.cell(row = 6,column = 1).value = 'wave'ws1.cell(row = 6,column = 1).alignment = alignmentws2.cell(row = 1,column = 1).value = '判定'ws2.cell(row = 1,column = 1).alignment = alignmentws2.cell(row = 5,column = 1).value = '文件名'ws2.cell(row = 5,column = 1).alignment = alignmentws2.cell(row = 6,column = 1).value = 'wave'ws2.cell(row = 6,column = 1).alignment = alignmentfor l in range(380,1051):ws.cell(l-373,1).value = lws.cell(l-373,1).alignment = alignmentws1.cell(l-373,1).value = lws1.cell(l-373,1).alignment = alignmentws2.cell(l-373,1).value = lws2.cell(l-373,1).alignment = alignmentcontinue#*******************************for root,dirs,files in os.walk(file_dir1):for file_path in glob.glob(os.path.join(root,'*.csv')):for j in range(901,item_2+1):item = item_1 + '-'  + str(j)if item in file_path and 'Add' not in file_path:print(file_path)xl = file_pathcount += 1c = countm = c - 1print(f"共发现 {c} 个文件!")try:last_part = extract_last_part_of_path(xl)filename = xl csv_data = read_csv_file(filename)df = csv_dataif user_input == "S1&S2":df1 = df.iloc[:,1:4]df2 = df.iloc[:,4:7]df1 = df1.astype(float)df2 = df2.astype(float)#**********************************************************combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'#print(combinedwave1)ws1.cell(row = 2,column = 1).value = combinedwave1ws2.cell(row = 2,column = 1).value = combinedwave1ws1.cell(row = 3,column = 1).value = combinedwave2ws2.cell(row = 3,column = 1).value = combinedwave2#***********************************************************#计算判定区域for n in range(0,3):cal1 = df1.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal2 = df1.iloc[wave2start-380+2:wave2end-380+2,n].max()  cal3 = df2.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal4 = df2.iloc[wave2start-380+2:wave2end-380+2,n].max() if cal1 <= wave1standard and cal2 <= wave2standard :ws1.cell(row = 1,column = n+2+3*m).value = "OK"ws1.cell(row = 1,column = n+2+3*m).alignment = alignmentelse:ws1.cell(row = 1,column = n+2+3*m).value = "NG"ws1.cell(row = 1,column = n+2+3*m).alignment = alignmentif cal3 <= wave1standard and cal4 <= wave2standard :ws2.cell(row = 1,column = n+2+3*m).value = "OK"ws2.cell(row = 1,column = n+2+3*m).alignment = alignmentelse:ws2.cell(row = 1,column = n+2+3*m).value = "NG"ws2.cell(row = 1,column = n+2+3*m).alignment = alignment#print(ave1,ave2)ws1.cell(row = 2,column = n+2+3*m).value = cal1ws1.cell(row = 3,column = n+2+3*m).value = cal2ws2.cell(row = 2,column = n+2+3*m).value = cal3ws2.cell(row = 3,column = n+2+3*m).value = cal4continue#文件名输出区域ws1.cell(row = 5,column = 2+3*m).value = last_part   ws2.cell(row = 5,column = 2+3*m).value = last_part                  #标题输出区域(data1~data6)for k,title in enumerate(titlesS1,2):                    ws1.cell(row = 6,column = k+3*m).value = titlews1.cell(row = 6,column = k+3*m).alignment = alignmentcontinuefor k,title in enumerate(titlesS2,2):                    ws2.cell(row = 6,column = k+3*m).value = titlews2.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df1.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws1.cell(row = i+7,column = j+1+3*m).value = valuefor i ,row in df2.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws2.cell(row = i+7,column = j+1+3*m).value = valueelif user_input == "S1S2":df = df.iloc[:,1:7]df = df.astype(float)#**********************************************************combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'#print(combinedwave1)ws.cell(row = 2,column = 1).value = combinedwave1ws.cell(row = 3,column = 1).value = combinedwave2#***********************************************************#计算判定区域for n in range(0,6):cal1 = df.iloc[wave1start-380+2:wave1end-380+2,n].max()  cal2 = df.iloc[wave2start-380+2:wave2end-380+2,n].max()  if cal1 <= wave1standard and cal2 <= wave2standard :ws.cell(row = 1,column = n+2+6*m).value = "OK"ws.cell(row = 1,column = n+2+6*m).alignment = alignmentelse:ws.cell(row = 1,column = n+2+6*m).value = "NG"ws.cell(row = 1,column = n+2+6*m).alignment = alignment#print(ave1,ave2)ws.cell(row = 2,column = n+2+6*m).value = cal1ws.cell(row = 3,column = n+2+6*m).value = cal2continue#文件名输出区域ws.cell(row = 5,column = 2+6*m).value = last_part                 #标题输出区域(data1~data6)for k,title in enumerate(titlesS1S2,2):                    ws.cell(row = 6,column = k+6*m).value = titlews.cell(row = 6,column = k+6*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws.cell(row = i+7,column = j+1+6*m).value = valueelse :print("指定错误,请重新运行!")except Exception as e:print(e) if user_input == "S1&S2":output_file_path=os.path.join(entry,f'Summaryout{item_1}{"-"}{user_input}{entry.name}.xlsx')wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)elif user_input == "S1S2":output_file_path=os.path.join(entry,f'Summaryout{item_1}{"-"}{user_input}{entry.name}.xlsx')wb.remove(wb['S1'])wb.remove(wb['S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)else:print("指令错误,请重新运行!")elif standerd_input == "N":print("请输入汇总model,S1或S2或S1S2或S1&S2") folder_count = sum(1 for _ in os.scandir(file_dir) if _.is_dir())print(folder_count)user_input = input("请输入汇总model,S1或S2或S1S2或S1&S2 \n")#standerd_input = input("是否需要标准?\n")   with os.scandir(file_dir) as it:for entry in it:if entry.is_dir():print(entry.name)file_dir1 = file_dir+'\\'+entry.nameprint(file_dir1)file_dir2 = file_dir1.replace("\\","")count = 0wb = Workbook()#ws = wb.active#ws.title="Summary"ws = wb.create_sheet("S1S2")ws1 = wb.create_sheet("S1")ws2 = wb.create_sheet("S2")        #设置所有单元格的对齐方式为居中alignment = Alignment(horizontal='center',vertical='center')   titlesS1 = ['data1','data2','data3']    titlesS2 = ['data4','data5','data6']  titlesS1S2 = ['data1','data2','data3','data4','data5','data6']#第一列波段设置区域ws.cell(row = 5,column = 1).value = '文件名'ws.cell(row = 5,column = 1).alignment = alignmentws.cell(row = 6,column = 1).value = 'wave'ws.cell(row = 6,column = 1).alignment = alignmentws1.cell(row = 5,column = 1).value = '文件名'ws1.cell(row = 5,column = 1).alignment = alignmentws1.cell(row = 6,column = 1).value = 'wave'ws1.cell(row = 6,column = 1).alignment = alignmentws2.cell(row = 5,column = 1).value = '文件名'ws2.cell(row = 5,column = 1).alignment = alignmentws2.cell(row = 6,column = 1).value = 'wave'ws2.cell(row = 6,column = 1).alignment = alignmentfor l in range(380,1051):ws.cell(l-373,1).value = lws.cell(l-373,1).alignment = alignmentws1.cell(l-373,1).value = lws1.cell(l-373,1).alignment = alignmentws2.cell(l-373,1).value = lws2.cell(l-373,1).alignment = alignmentcontinue#*******************************for root,dirs,files in os.walk(file_dir1):for file_path in glob.glob(os.path.join(root,'*.csv')):for j in range(901,item_2+1):item = item_1 + '-'  + str(j)if item in file_path and 'Add' not in file_path:print(file_path)xl = file_pathcount += 1c = countm = c - 1print(f"共发现 {c} 个文件!")try:last_part = extract_last_part_of_path(xl)filename = xl csv_data = read_csv_file(filename)df = csv_dataif user_input == "S1&S2":df1 = df.iloc[:,1:4]df2 = df.iloc[:,4:7]df1 = df1.astype(float)df2 = df2.astype(float)#文件名输出区域ws1.cell(row = 5,column = 2+3*m).value = last_part   ws2.cell(row = 5,column = 2+3*m).value = last_part                  #标题输出区域(data1~data6)for k,title in enumerate(titlesS1,2):                    ws1.cell(row = 6,column = k+3*m).value = titlews1.cell(row = 6,column = k+3*m).alignment = alignmentcontinuefor k,title in enumerate(titlesS2,2):                    ws2.cell(row = 6,column = k+3*m).value = titlews2.cell(row = 6,column = k+3*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df1.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws1.cell(row = i+7,column = j+1+3*m).value = valuefor i ,row in df2.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws2.cell(row = i+7,column = j+1+3*m).value = valueelif user_input == "S1S2":df = df.iloc[:,1:7]df = df.astype(float)#文件名输出区域ws.cell(row = 5,column = 2+6*m).value = last_part                 #标题输出区域(data1~data6)for k,title in enumerate(titlesS1S2,2):                    ws.cell(row = 6,column = k+6*m).value = titlews.cell(row = 6,column = k+6*m).alignment = alignmentcontinue#源数据输出区域for i ,row in df.iterrows():#print(i)for j ,value in enumerate(row,start=1):ws.cell(row = i+7,column = j+1+6*m).value = valueelse:print("指令错误,请重新运行!")except Exception as e:print(e) if user_input == "S1&S2":output_file_path=os.path.join(entry,f'Summaryout{item_1}{"-"}{user_input}{entry.name}.xlsx')wb.remove(wb['S1S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)elif user_input == "S1S2":output_file_path=os.path.join(entry,f'Summaryout{item_1}{"-"}{user_input}{entry.name}.xlsx')wb.remove(wb['S1'])wb.remove(wb['S2'])wb.remove(wb['Sheet'])wb.save(output_file_path)else:print("指令错误,请重新运行!")else:print("非指定指令!!")

总结

分享:
我们的一生,就是一趟旅行,沿途有无尽的坎坷泥泞,也有看不完的春花秋月,如果我们的心灵总是呗灰暗的风尘遮挡,变失去了生机;

http://www.dtcms.com/a/619541.html

相关文章:

  • 东莞网站建设 烤活鱼seo课程简介
  • 前端模块化:ESM 与 CJS
  • 4网站建设汕头市官网
  • 可以做产品推广的网站wordpress做网站过程
  • 《Unity Shader》 6.4.2 逐像素光照
  • 北京公司网站制作衡水 网站开发
  • 东莞做网站首选企业铭缙云县城乡建设局网站
  • 41 当前用户购物车数据
  • 公司网站建设需要什么网站开发过程文档
  • wordpress调用昵称静态网站怎么做优化
  • php网站开发建设网站云优化
  • 快排做网站排名爬取漫画数据做网站
  • 黄页游戏引流推广网站昆明建设招聘信息网站
  • 网站建设投诉去哪里投诉专业做家居的网站
  • 免费祝福网页在线制作网站在线优化工具
  • 【题解】P2324 [SCOI2005] 骑士精神 [IDA*]
  • 杭州自助建站网站网站变灰代码 所有浏览器
  • 中国建设银行官网站积分抽奖网站浮窗制作
  • 网站建设四网合一app开发与网站开发的区别
  • Leetcode 55
  • 网站上百度要怎么做的营销网名大全
  • 网站建设 淘宝运营公司网站怎么做啊
  • 研发网站要多久小男生和大人做的网站
  • Python数据分析 -- Pandas基础入门学习笔记:从核心概念到实操代码
  • 怎么在淘宝上做网站wordpress 文章 形式
  • Deap、Seed和Seed4心电数据集详细介绍(附下载链接)
  • 网站LOGO透明底色PNG格式怎么做的wordpress建图片站
  • 工业互联网中的AI与大数据:推动智能化决策的力量
  • 网站为什么百度不收录信誉好的顺德网站建设
  • 西安有哪些网站建设外包公司长沙装修公司电话