This repository has been archived on 2024-06-23. You can view files and clone it, but cannot push or open issues or pull requests.
mathdeptv2/工具/手动统计结果转换.py

40 lines
1.5 KiB
Python

import os,re,json
def form_decimals(string):
string = re.sub(r"[\s]+",r"\t",string)
numerals_list = [n for n in string.split("\t") if len(n)>0]
for i in range(len(numerals_list)):
numeral = numerals_list[i]
str_numeral = "%.3f" %float(numeral)
numerals_list[i] = str_numeral
return "\t".join(numerals_list)
with open("文本文件/手动统计结果.txt","r",encoding = "utf8") as f:
data = f.read()
blocks = re.findall(r"\[BEGIN\]([\s\S]*?)\[END\]",data)
results_dict = {}
for block in blocks:
temp_list = [l.strip() for l in block.split("\n") if l.strip() != ""]
for line in temp_list:
if line[:2] == "##":
date = line[2:].strip()
elif line[:2] == "**":
current_class = line[2:].strip()
else:
separating_pos = re.search("\s",line).span(0)[0]
if not line[:separating_pos].zfill(6) in results_dict:
results_dict[line[:separating_pos].zfill(6)] = [date + "\t" + current_class + "\t" + form_decimals(re.sub("\s+?","\t",line[separating_pos:])).strip()]
else:
results_dict[line[:separating_pos].zfill(6)].append(date + "\t" + current_class + "\t" + form_decimals(re.sub("\s+?","\t",line[separating_pos:])).strip())
output_data = "usages\n"
for id in results_dict:
output_data += id + "\n"
output_data += "\n".join(results_dict[id])
output_data += "\n\n"
with open("文本文件/metadata.txt","w",encoding = "utf8") as f:
f.write(output_data)