maxiux / app.py
88888888q's picture
Create app.py
f12b798
import requests
import gradio as gr
import openpyxl
import string
import re
import os
import time
import shutil
def fb(name):
# print(name)
name = name.replace("加坑", "", 1)
name = name.replace("手速", "", 1)
name = name.replace("麦序", "", 1)
name = name.replace("空一", "", 1)
name = name.replace("空二", "", 1)
name = name.replace("空三", "", 1)
name = name.replace("空1", "", 1)
name = name.replace("空2", "", 1)
name = name.replace("空3", "", 1)
name = name.replace("关厅", "", 1)
name = name.replace("全麦", "", 1)
name = name.replace("0", "",1)
name = name.replace("1", "", 1)
name = name.replace("2", "",1)
name = name.replace("3", "",1)
name = name.replace("4", "",1)
name = name.replace("5", "",1)
name = name.replace("6", "",1)
name = name.replace("7", "", 1)
name = name.replace("8", "", 1)
name = name.replace("st", "", 1)
name = name.replace("ST", "", 1)
name = name.replace("St", "", 1)
name = name.replace("sT", "", 1)
name = re.sub(r"满$", " ", name)
name = re.sub(r"齐$", " ", name)
name = re.sub(r"手速$", " ", name)
name = re.sub(r"加坑$", " ", name)
z = re.sub(r"\(.*?\)", "", name)
z = re.sub(r"(.*?\)", "", z)
res = re.compile("[^\u4e00-\u9fa5^a-z^A-Z^0-9]")
return res.sub("",z)
def lj(ws):
npps = {}
for mxl in ws["d"]:
# print(mxl.value.split())
if(mxl.value!=None):
for name in mxl.value.split("\n"):
name = name.lstrip()
if(len(name)<12):
if(name!="截止麦序表:"):
if (name != "当前麦序表:"):
if (name.isspace() != True):
pname = fb(name)
print("日志==========================》陪陪名称" + pname)
if (pname != ""):
npps[pname] = npps.get(pname, 0) + 1
else:
for xname in name.split("@"):
if (xname != "截止麦序表:"):
if (xname != "当前麦序表:"):
if (xname.isspace() != True):
pname = fb(xname)
print("日志==========================》陪陪名称" + pname)
if (pname != ""):
npps[pname] = npps.get(pname, 0) + 1
for mxl in ws["e"]:
# print(mxl.value.split())
if(mxl.value!=None):
for name in mxl.value.split("\n"):
name = name.lstrip()
if(len(name)<12):
if(name!="截止麦序表:"):
if (name != "当前麦序表:"):
if(name.isspace()!=True):
pname = fb(name)
print("日志==========================》陪陪名称"+pname)
if(pname!=""):
npps[pname] = npps.get(pname,0)+1
else:
for xname in name.split("@"):
if (xname != "截止麦序表:"):
if (xname != "当前麦序表:"):
if (xname.isspace() != True):
pname = fb(xname)
print("日志==========================》陪陪名称" + pname)
if (pname != ""):
npps[pname] = npps.get(pname, 0) + 1
return npps
def calculate(file):
# 打卡表
wb = openpyxl.load_workbook(file.name)
ws = wb.active
wz = "/tmp/gradio/"
print(file.name)
files = os.listdir(wz)
print("文件信息")
# 打印所有文件名
for xfile in files:
print("--------------")
print(xfile)
if (os.path.isdir(wz + xfile)):
ftime = time.strftime("%Y-%m-%d", time.localtime(os.stat(wz + xfile).st_ctime))
mtime = time.strftime("%Y-%m-%d", time.localtime(time.time()))
print(time.strftime("%Y-%m-%d", time.localtime(os.stat(wz + xfile).st_ctime)))
print(time.strftime("%Y-%m-%d", time.localtime(time.time())))
if (ftime != mtime):
shutil.rmtree(wz + xfile)
print(ftime, xfile, "移除")
npps = lj(ws)
text = "名称 麦序"
xpp = dict(sorted(npps.items(),key=lambda item : item[1],reverse=True))
# print(xpp)
xhs = 1
for k,v in xpp.items():
text=text+"\n"+str(xhs)+"."+k+" = "+str(v)
xhs+=1
return text
def reverse(file):
return calculate(file)
demo = gr.Interface(reverse, inputs=["file"],outputs= "text")
demo.launch()