python随机生成成绩+字典统计+条形图绘制
- 先生成随机数据
- 使用字典进行统计
- 绘制条形图
from openpyxl import *
from openpyxl import workbook
import random
from pylab import mpl
import numpy
import matplotlib.pyplot as plt
path='C:/Users/lenovo/Desktop/test.xlsx';
path_s='C:/Users/lenovo/Desktop/test2.xlsx';
w=load_workbook(path);
ws=w.active;
n=100;
l=['语文','数学','英语','政治']
subject=[];
for _ in range(n):
subject.append(random.choice(l))
for i in range(n):
ws.cell(row=i+1,column=1,value=random.choice(l))
for i in range(n):
ws.cell(row=i+1,column=2,value=random.randint(70,100))
dic={}
for i in range(n):
key=ws.cell(row=i+1,column=1)
print(key.value)
if(key.value in dic.keys()):
dic[key.value]+=ws.cell(row=i+1,column=2).value
else:
dic.update({key.value:0})
i=1;
sub=[];
num=[];
for ele in dic.items():
sub.append(ele[0])
num.append(ele[-1])
ws.cell(row=i,column=3,value=ele[0])
ws.cell(row=i,column=4,value=ele[-1])
i=i+1
mpl.rcParams['font.sans-serif'] = ['SimHei']
plt.bar(sub,num)
plt.xlabel('科目');
plt.ylabel('num');
plt.title('随便起的啥都不是');
plt.show()
w.save(path);
结果:
