打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

RIA Wiki 已更新到 1.41!部分 CSS 在新版本下可能有不同的表现,请编辑者注意检查和修改。 目前wiki关闭了自行注册账号的功能,如需注册账号,请查阅Help:注册账号

Coi统计数据程序:修订间差异

来自RIA | Wiki
Arthals留言 | 贡献
无编辑摘要
Arthals留言 | 贡献
无编辑摘要
第1行: 第1行:
import os
<code>import os</code>


import os.path
<code>import os.path</code>


def is_number(s):
<code>def is_number(s):</code>


try:
<code>try:</code>


float(s)
<code>float(s)</code>


return True
<code>return True</code>


except ValueError:
<code>except ValueError:</code>


return False
<code>return False</code>


def replaceList(list1, num, replace):
<code>def replaceList(list1, num, replace):</code>


list2 =[]
<code>list2 =[]</code>


for i in range(len(list1)):
<code>for i in range(len(list1)):</code>


if i == num:
<code>if i == num:</code>


list2.append(replace)
<code>list2.append(replace)</code>


else:
<code>else:</code>


list2.append(list1[i])
<code>list2.append(list1[i])</code>


return list2
<code>return list2</code>


def part(num,list1):
<code>def part(num,list1):</code>


for i in range(len(list1)):
<code>for i in range(len(list1)):</code>


if num<=list1[i]:
<code>if num<=list1[i]:</code>


return i
<code>return i</code>


break
<code>break</code>


root=str(input("请输入文件目录路径(不含有/coi.txt):"))
<code>root=str(input("请输入文件目录路径(不含有/coi.txt):"))</code>


print("——Welcome!欢迎来到RCB援建数据统计系统,by Arthals——")
<code>print("——Welcome!欢迎来到RCB援建数据统计系统,by Arthals——")</code>


logID=str(input("请输入统计人ID:"))
<code>logID=str(input("请输入统计人ID:"))</code>


TimeLog1=float(input("请输入较小的时间刻度(正整数):"))
<code>TimeLog1=float(input("请输入较小的时间刻度(正整数):"))</code>


TimeLog2=float(input("请输入较大的时间刻度(正整数):"))
<code>TimeLog2=float(input("请输入较大的时间刻度(正整数):"))</code>


config=str(input("是否删除数量为54的数据,如果是,请输入yes;如果不是,请输入no:"))
<code>config=str(input("是否删除数量为54的数据,如果是,请输入yes;如果不是,请输入no:"))</code>


data=open(str(root+"/coi.txt"),"r")
<code>data=open(str(root+"/coi.txt"),"r",encoding="UTF-8")</code>


len_logID=len(logID)
<code>len_logID=len(logID)</code>


coi=[]
<code>coi=[]</code>


all_coi_name=[]
<code>all_coi_name=[]</code>


all_coi_value=[]
<code>all_coi_value=[]</code>


count=[]
<code>count=[]</code>


all_coi={}
<code>all_coi={}</code>


tag=[]
<code>tag=[]</code>


for line in data:
<code>for line in data:</code>


coi.append(str(line))
<code>coi.append(str(line))</code>


for i in range(len(coi)):
<code>for i in range(len(coi)):</code>


line=coi[i]
<code>line=coi[i]</code>


if line[40:47+len_logID]==str("* "+logID+" 统计结束"):
<code>if line[40:47+len_logID]==str("* "+logID+" 统计结束"):</code>


break
<code>break</code>


if line[40:46+len_logID]==str("* "+logID+" 统计:"):
<code>if line[40:46+len_logID]==str("* "+logID+" 统计:"):</code>


tag.append(line[46+len_logID:].rstrip("\n"))
<code>tag.append(line[46+len_logID:].rstrip("\n"))</code>


print("Now:",line[43+len_logID:].rstrip(""))
<code>print("Now:",line[43+len_logID:].rstrip(""))</code>


coi2=[]
<code>coi2=[]</code>


how={}
<code>how={}</code>


for l in range(i+1,len(coi)):
<code>for l in range(i+1,len(coi)):</code>


if coi[l][40:45+len_logID]=="* "+logID+" 统计":
<code>if coi[l][40:45+len_logID]=="* "+logID+" 统计":</code>


break
<code>break</code>


else:
<code>else:</code>


t_f = is_number(coi[l][41])
<code>t_f = is_number(coi[l][41])</code>


if t_f == True:
<code>if t_f == True:</code>


linex=coi[l][40:]
<code>linex=coi[l][40:]</code>


linex_list=linex.split(" ")
<code>linex_list=linex.split(" ")</code>


time=float(linex_list[0].rstrip("/h"))
<code>time=float(linex_list[0].rstrip("/h"))</code>


if TimeLog1<=time<=TimeLog2:
<code>if TimeLog1<=time<=TimeLog2:</code>


linex_list.remove("ago")
<code>linex_list.remove("ago")</code>


linex_list.remove("-")
<code>linex_list.remove("-")</code>


linex_list.pop()
<code>linex_list.pop()</code>


if config=="yes" and linex_list[3]=="x54":
<code>if config=="yes" and linex_list[3]=="x54":</code>


continue
<code>continue</code>


if linex_list[2]=="removed":
<code>if linex_list[2]=="removed":</code>


if linex_list[1] in how:
<code>if linex_list[1] in how:</code>


how[linex_list[1]]=how[linex_list[1]]-int(linex_list[3].lstrip("x"))
<code>how[linex_list[1]]=how[linex_list[1]]-int(linex_list[3].lstrip("x"))</code>


elif linex_list[1] not in how:
<code>elif linex_list[1] not in how:</code>


how[linex_list[1]]=-int(linex_list[3].lstrip("x"))
<code>how[linex_list[1]]=-int(linex_list[3].lstrip("x"))</code>


else:
<code>else:</code>


print("Error")
<code>print("Error")</code>


break
<code>break</code>


if linex_list[2]=="added":
<code>if linex_list[2]=="added":</code>


if linex_list[1] in how:
<code>if linex_list[1] in how:</code>


how[linex_list[1]]=how[linex_list[1]]+int(linex_list[3].lstrip("x"))
<code>how[linex_list[1]]=how[linex_list[1]]+int(linex_list[3].lstrip("x"))</code>


elif linex_list[1] not in how:
<code>elif linex_list[1] not in how:</code>


how[linex_list[1]]=int(linex_list[3].lstrip("x"))
<code>how[linex_list[1]]=int(linex_list[3].lstrip("x"))</code>


else:
<code>else:</code>


print("Error")
<code>print("Error")</code>


break
<code>break</code>


name=list(how.keys())
<code>name=list(how.keys())</code>


count.append(len(name))
<code>count.append(len(name))</code>


for y in range(len(name)):
<code>for y in range(len(name)):</code>


all_coi_name.append(name[y])
<code>all_coi_name.append(name[y])</code>


value=list(how.values())
<code>value=list(how.values())</code>


for y in range(len(value)):
<code>for y in range(len(value)):</code>


all_coi_value.append(value[y])
<code>all_coi_value.append(value[y])</code>


sort=[]
<code>sort=[]</code>


for i in range(len(all_coi_name)):
<code>for i in range(len(all_coi_name)):</code>


if all_coi_name[i] in sort:
<code>if all_coi_name[i] in sort:</code>


continue
<code>continue</code>


else:
<code>else:</code>


sort.append(all_coi_name[i])
<code>sort.append(all_coi_name[i])</code>


sort.sort()
<code>sort.sort()</code>


all_count=[]
<code>all_count=[]</code>


for i in range(len(count)):
<code>for i in range(len(count)):</code>


if i==0:
<code>if i==0:</code>


all_count.append(count[i])
<code>all_count.append(count[i])</code>


else:
<code>else:</code>


all_count.append("0")
<code>all_count.append("0")</code>


all_count=replaceList(all_count,i,int(count[i]+all_count[i-1]))
<code>all_count=replaceList(all_count,i,int(count[i]+all_count[i-1]))</code>


all_count_change=[]
<code>all_count_change=[]</code>


for i in range(len(all_count)):
<code>for i in range(len(all_count)):</code>


all_count_change.append(int(all_count[i]-1))
<code>all_count_change.append(int(all_count[i]-1))</code>


all_count=all_count_change
<code>all_count=all_count_change</code>


bt=[]
<code>bt=[]</code>


for i in range(len(tag)+2):
<code>for i in range(len(tag)+2):</code>


if i==0:
<code>if i==0:</code>


bt.append("ID\t")
<code>bt.append("ID\t")</code>


elif i != len(tag)+1:
<code>elif i != len(tag)+1:</code>


bt.append(str(tag[i-1])+"\t")
<code>bt.append(str(tag[i-1])+"\t")</code>


else:
<code>else:</code>


bt.append(str("\n"))
<code>bt.append(str("\n"))</code>


change=[]
<code>change=[]</code>


for i in range(len(all_coi_value)):
<code>for i in range(len(all_coi_value)):</code>


change.append(abs(all_coi_value[i]))
<code>change.append(abs(all_coi_value[i]))</code>


all_coi_value=change
<code>all_coi_value=change</code>


log=open(str(root+"/result.txt"),"a+")
<code>log=open(str(root+"/result.txt"),"a+",encoding="UTF-8")</code>


btpr=""
<code>btpr=""</code>


for i in range(len(bt)):
<code>for i in range(len(bt)):</code>


btpr=btpr+str(bt[i])
<code>btpr=btpr+str(bt[i])</code>


log.write(btpr)
<code>log.write(btpr)</code>


print(btpr)
<code>print(btpr)</code>


change1=[]
<code>change1=[]</code>


for i in range(len(all_coi_value)):
<code>for i in range(len(all_coi_value)):</code>


if all_coi_value[i]!=0:
<code>if all_coi_value[i]!=0:</code>


change1.append(all_coi_value[i])
<code>change1.append(all_coi_value[i])</code>


else:
<code>else:</code>


change1.append("")
<code>change1.append("")</code>


all_coi_value=change1
<code>all_coi_value=change1</code>


for i in range(len(sort)):
<code>for i in range(len(sort)):</code>


pr=str(sort[i]+"\t")
<code>pr=str(sort[i]+"\t")</code>


dic={}
<code>dic={}</code>


for x in range(len(tag)):
<code>for x in range(len(tag)):</code>


dic[x]="\t"
<code>dic[x]="\t"</code>


for l in range(len(all_coi_name)):
<code>for l in range(len(all_coi_name)):</code>


if all_coi_name[l]==sort[i]:
<code>if all_coi_name[l]==sort[i]:</code>


n=part(l,all_count)
<code>n=part(l,all_count)</code>


dic[n]=all_coi_value[l]
<code>dic[n]=all_coi_value[l]</code>


print(sort[i],"\n",dic,"\n————————————————————")
<code>print(sort[i],"\n",dic,"\n————————————————————")</code>


for m in range(len(dic)):
<code>for m in range(len(dic)):</code>


if m !=len(dic)-1:
<code>if m !=len(dic)-1:</code>


if str(list(dic.values())[m])=="\t":
<code>if str(list(dic.values())[m])=="\t":</code>


pr=pr+str(list(dic.values())[m])
<code>pr=pr+str(list(dic.values())[m])</code>


else:
<code>else:</code>


pr=pr+str(list(dic.values())[m])+"\t"
<code>pr=pr+str(list(dic.values())[m])+"\t"</code>


else:
<code>else:</code>


if str(list(dic.values())[m])=="\t":
<code>if str(list(dic.values())[m])=="\t":</code>


pr=pr+"\n"
<code>pr=pr+"\n"</code>


else:
<code>else:</code>


pr=pr+str(list(dic.values())[m])+"\n"
<code>pr=pr+str(list(dic.values())[m])+"\n"</code>


log.write(pr)
<code>log.write(pr)</code>


log.close()
<code>log.close()</code>

2019年9月8日 (日) 12:40的版本

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",encoding="UTF-8")

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+",encoding="UTF-8")

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()