Coi统计数据程序:修订间差异
更多操作
创建页面,内容为“<code>import os</code> <code>import os.path</code> <code>def is_number(s):</code> <code>try:</code> <code>float(s)</code> <code>return True</code> <code>except…” |
无编辑摘要 |
||
| 第41行: | 第41行: | ||
<code>break</code> | <code>break</code> | ||
<code>root="/ | <code>root=str(input("请输入文件目录路径(不含有/coi.txt):"))</code> | ||
<code>print("——Welcome!欢迎来到RCB援建数据统计系统,by Arthals——")</code> | <code>print("——Welcome!欢迎来到RCB援建数据统计系统,by Arthals——")</code> | ||
<code>data=open(str(root+"coi.txt"),"r")</code> | <code>logID=str(input("请输入统计人ID:"))</code> | ||
<code>TimeLog1=float(input("请输入较小的时间刻度(正整数):"))</code> | |||
<code>TimeLog2=float(input("请输入较大的时间刻度(正整数):"))</code> | |||
<code>config=str(input("是否删除数量为54的数据,如果是,请输入yes;如果不是,请输入no:"))</code> | |||
<code>data=open(str(root+"/coi.txt"),"r")</code> | |||
<code>len_logID=len(logID)</code> | |||
<code>coi=[]</code> | <code>coi=[]</code> | ||
| 第67行: | 第77行: | ||
<code>line=coi[i]</code> | <code>line=coi[i]</code> | ||
<code>if line[40: | <code>if line[40:47+len_logID]==str("* "+logID+" 统计结束"):</code> | ||
<code>break</code> | <code>break</code> | ||
<code>if line[40: | <code>if line[40:46+len_logID]==str("* "+logID+" 统计:"):</code> | ||
<code>tag.append(line[ | <code>tag.append(line[46+len_logID:].rstrip("\n"))</code> | ||
<code>print(" | <code>print("Now:",line[43+len_logID:].rstrip(""))</code> | ||
<code>coi2=[]</code> | <code>coi2=[]</code> | ||
| 第83行: | 第93行: | ||
<code>for l in range(i+1,len(coi)):</code> | <code>for l in range(i+1,len(coi)):</code> | ||
<code>if coi[l][40: | <code>if coi[l][40:45+len_logID]=="* "+logID+" 统计":</code> | ||
<code>break</code> | <code>break</code> | ||
| 第99行: | 第109行: | ||
<code>time=float(linex_list[0].rstrip("/h"))</code> | <code>time=float(linex_list[0].rstrip("/h"))</code> | ||
<code>if time<= | <code>if TimeLog1<=time<=TimeLog2:</code> | ||
<code>linex_list.remove("ago")</code> | <code>linex_list.remove("ago")</code> | ||
| 第105行: | 第115行: | ||
<code>linex_list.remove("-")</code> | <code>linex_list.remove("-")</code> | ||
<code>linex_list. | <code>linex_list.pop()</code> | ||
<code>if linex_list[3]=="x54":</code> | <code>if config=="yes" and linex_list[3]=="x54":</code> | ||
<code>continue</code> | <code>continue</code> | ||
| 第145行: | 第155行: | ||
<code>name=list(how.keys())</code> | <code>name=list(how.keys())</code> | ||
<code>count.append(len(name) | <code>count.append(len(name))</code> | ||
<code>for y in range(len(name)):</code> | <code>for y in range(len(name)):</code> | ||
| 第208行: | 第218行: | ||
<code>bt.append(str("\n"))</code> | <code>bt.append(str("\n"))</code> | ||
<code>change=[]</code> | <code>change=[]</code> | ||
| 第235行: | 第227行: | ||
<code>all_coi_value=change</code> | <code>all_coi_value=change</code> | ||
<code>log=open(str(root+"result.txt"),"a+")</code> | <code>log=open(str(root+"/result.txt"),"a+")</code> | ||
<code>btpr=""</code> | <code>btpr=""</code> | ||
| 第278行: | 第270行: | ||
<code>dic[n]=all_coi_value[l]</code> | <code>dic[n]=all_coi_value[l]</code> | ||
<code>print(sort[i],"\n",dic,"\n————————————————————")</code> | |||
<code>for m in range(len(dic)):</code> | <code>for m in range(len(dic)):</code> | ||
| 第300行: | 第294行: | ||
<code>pr=pr+str(list(dic.values())[m])+"\n"</code> | <code>pr=pr+str(list(dic.values())[m])+"\n"</code> | ||
<code>log.write(pr)</code> | <code>log.write(pr)</code> | ||
<code>log.close()</code> | <code>log.close()</code> | ||
2019年9月8日 (日) 12:38的版本
import os
import os.path
def is_number(s):
try:
float(s)
return True
except ValueError:
return False
def replaceList(list1, num, replace):
list2 =[]
for i in range(len(list1)):
if i == num:
list2.append(replace)
else:
list2.append(list1[i])
return list2
def part(num,list1):
for i in range(len(list1)):
if num<=list1[i]:
return i
break
root=str(input("请输入文件目录路径(不含有/coi.txt):"))
print("——Welcome!欢迎来到RCB援建数据统计系统,by Arthals——")
logID=str(input("请输入统计人ID:"))
TimeLog1=float(input("请输入较小的时间刻度(正整数):"))
TimeLog2=float(input("请输入较大的时间刻度(正整数):"))
config=str(input("是否删除数量为54的数据,如果是,请输入yes;如果不是,请输入no:"))
data=open(str(root+"/coi.txt"),"r")
len_logID=len(logID)
coi=[]
all_coi_name=[]
all_coi_value=[]
count=[]
all_coi={}
tag=[]
for line in data:
coi.append(str(line))
for i in range(len(coi)):
line=coi[i]
if line[40:47+len_logID]==str("* "+logID+" 统计结束"):
break
if line[40:46+len_logID]==str("* "+logID+" 统计:"):
tag.append(line[46+len_logID:].rstrip("\n"))
print("Now:",line[43+len_logID:].rstrip(""))
coi2=[]
how={}
for l in range(i+1,len(coi)):
if coi[l][40:45+len_logID]=="* "+logID+" 统计":
break
else:
t_f = is_number(coi[l][41])
if t_f == True:
linex=coi[l][40:]
linex_list=linex.split(" ")
time=float(linex_list[0].rstrip("/h"))
if TimeLog1<=time<=TimeLog2:
linex_list.remove("ago")
linex_list.remove("-")
linex_list.pop()
if config=="yes" and linex_list[3]=="x54":
continue
if linex_list[2]=="removed":
if linex_list[1] in how:
how[linex_list[1]]=how[linex_list[1]]-int(linex_list[3].lstrip("x"))
elif linex_list[1] not in how:
how[linex_list[1]]=-int(linex_list[3].lstrip("x"))
else:
print("Error")
break
if linex_list[2]=="added":
if linex_list[1] in how:
how[linex_list[1]]=how[linex_list[1]]+int(linex_list[3].lstrip("x"))
elif linex_list[1] not in how:
how[linex_list[1]]=int(linex_list[3].lstrip("x"))
else:
print("Error")
break
name=list(how.keys())
count.append(len(name))
for y in range(len(name)):
all_coi_name.append(name[y])
value=list(how.values())
for y in range(len(value)):
all_coi_value.append(value[y])
sort=[]
for i in range(len(all_coi_name)):
if all_coi_name[i] in sort:
continue
else:
sort.append(all_coi_name[i])
sort.sort()
all_count=[]
for i in range(len(count)):
if i==0:
all_count.append(count[i])
else:
all_count.append("0")
all_count=replaceList(all_count,i,int(count[i]+all_count[i-1]))
all_count_change=[]
for i in range(len(all_count)):
all_count_change.append(int(all_count[i]-1))
all_count=all_count_change
bt=[]
for i in range(len(tag)+2):
if i==0:
bt.append("ID\t")
elif i != len(tag)+1:
bt.append(str(tag[i-1])+"\t")
else:
bt.append(str("\n"))
change=[]
for i in range(len(all_coi_value)):
change.append(abs(all_coi_value[i]))
all_coi_value=change
log=open(str(root+"/result.txt"),"a+")
btpr=""
for i in range(len(bt)):
btpr=btpr+str(bt[i])
log.write(btpr)
print(btpr)
change1=[]
for i in range(len(all_coi_value)):
if all_coi_value[i]!=0:
change1.append(all_coi_value[i])
else:
change1.append("")
all_coi_value=change1
for i in range(len(sort)):
pr=str(sort[i]+"\t")
dic={}
for x in range(len(tag)):
dic[x]="\t"
for l in range(len(all_coi_name)):
if all_coi_name[l]==sort[i]:
n=part(l,all_count)
dic[n]=all_coi_value[l]
print(sort[i],"\n",dic,"\n————————————————————")
for m in range(len(dic)):
if m !=len(dic)-1:
if str(list(dic.values())[m])=="\t":
pr=pr+str(list(dic.values())[m])
else:
pr=pr+str(list(dic.values())[m])+"\t"
else:
if str(list(dic.values())[m])=="\t":
pr=pr+"\n"
else:
pr=pr+str(list(dic.values())[m])+"\n"
log.write(pr)
log.close()