|
import requests |
|
import gradio as gr |
|
import openpyxl |
|
import string |
|
import re |
|
import os |
|
import time |
|
import shutil |
|
|
|
|
|
def fb(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"]: |
|
|
|
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"]: |
|
|
|
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)) |
|
|
|
|
|
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() |
|
|
|
|