用python创建100个服从正态分布的随机数,python随机生成正态分布的数
今天是我的第一篇博客。就拿python在excel中的应用作为我的第一个吧。
具体要求是:在一个已知的excel表中读取学生的学号和姓名,然后将这些数据放入新excel表的第一列和第二列,最后生成随机数作为学生的考试成绩。
首先使用的数据库是:xlwt、xlrd和random。
该命令如下所示:
导入xlwt
导入xlrd
随机导入
现有表单的内容如下:
现在我们需要从中提取B1-C14。
(提示:操作此电子表格时,使用此电子表格的地址,即电子表格的存储位置。)
excel=xlrd . Open _ workbook(g:\ python \ new folder \ table 1 . xlsx )#打开并读取表格。
Sheet=excel.sheets()[0] #从原始表1的第一页提取数据。在处理excel时,行列页是从0开始计算的。
Wb=xlwt。Workbook() #创建新的excel表格
Ws=wb.add_sheet(抄本)#第一页名为抄本。
(如果要做多页操作,可以把自己的学号名字放在一个两页的excel表格里,如下:
ws1=WB . add _ sheet( 1级成绩单)
Ws2=wb.add _ sheet(第2课的成绩单)
)
创建两个列表:
a=[]
b=[]
(这两个列表用于临时存储学生编号和姓名)
对于i in range (1 1,14): #从15年级汇总中提取姓名和学号。高二下学期xlsx表。
A.append (sheet.row _ values (I,1,2)) #提取第I行的第一个数字,也就是这个命令提取表中的学号列。
B.append (sheet.row _ values (I,2,3)) #提取第I行的第二个数字,也就是这个命令提取表中的name列。
这里注意:excel中的行和列是从0开始计算的,即表中的行1和列1在处理时是行0和列0,表中的行2和列2在处理时是行1和列1。表中的工作表也从0开始。
解释:a .追加(表。row _ values (I,1,2))经过几次出错,发现I指的是第I行,1,2是一个范围。也就是说,取第一个值,如上所述,它是表中第二个框的值。
如果您对此有疑问,可以尝试将1,2改为一个值。
对于范围(13)中的n:#在新创建的表格中填写学生编号和姓名,并将其写在第1页上。学生的数量是13。
ws.write(n,0,a[n][0])
ws.write(n,1,b[n][0])
提醒:为什么这里要用a[n][0]而不是a[n]?这就是我自己水平有限的原因。因为提取表中的数据放在两个列表A和B中,所以它们的形式是:A=[[111],[112],[113] …]。我还没有想出解决这个问题的办法,所以只能用a[n][0]这个形式来解决。因为在写新表的过程中,不能把整个列表放在盒子里,只能放在文本或者盒子允许的其他格式里。如果有更好的方法建议,我们一起交流学习,不胜感激。
对于范围(13)中的q:#随机抽取1班所有学生的数据。
ran=random.randint(60,91)
如果ran=70:
1.写(q,2, pass ({0})。格式(ran))
如果ran70和ran=80:
Ws1.write(q,2, medium ({0})。格式(ran))
如果ran80和ran=90:
1 .写(q,2,好({0})。格式(ran))
Wb.save(15欢子1班2班GIS实习成绩。xls) #将新创建的表单保存为 15欢子GIS实习结果1班2班。xls的文件。
下面的代码是用两个类的数据计算出来的。
最初的形式是:
1导入xlwt #导入xlwt数据库将数据写入excel文档。
2导入xlrd #引入xlrd数据库,从excel中读取数据
导入random #引入随机数据库给出随机数。
四
Excel=xlrd . open _ workbook( G:\ Python \ New Folder \ Table 1 . xlsx )#从已有学号和姓名的Excel表中提取相应的学号和姓名。
六
sheet=excel . sheets()[0]8WB=xlwt . workbook()#创建新的excel工作表
WS1=wb.add _ sheet (Class 1抄本)#第一页名为Class 1抄本。
0ws2=wb.add _ sheet (Class 2抄本)#第一页命名为Class 2抄本。
11
12
3a1=[] #表1中的学生号列
4a2=[] #表2中的学号列
5b1=[] #表1中的列名
表2中6b2=[] #名称列
17
1对于范围(1,14)内的I:#表1。从1.xlsx表中提取1班的姓名和学号。
19 a1.append(sheet.row_values(i,1,2))20 B1 . append(sheet . row _ values(I,2,3))21
22
2对于范围(14,33)中的J:#从表1.xlsx中提取班级1的名称和学号。
24 a2.append(sheet.row_values(j,1,2))25 B2 . append(sheet . row _ values(j,2,3))26
2对于范围(13)中的N:#在新表格中填写1班的学号和姓名,并将其写在第1页上。一班有13名学生。
2WS1。写(n,0,A1 [n] [0]) 29WS1。对于范围(19)中的m,写出(n,1,B1[n][0])30:#在新建的表格中写出2班的学号和姓名,并写在第2页上。二班有19名学生。
31 ws2.write(m,0,a2[m][0])32 ws2.write(m,1,b2[m][0])33
3对于范围(13)中的Q:#从1班所有学生的分数中随机抽取数据。
3RAN=random.randint (60,91) #分数在60到90之间
3IF RAN=70: 37WS1。写(Q,2, Pass ({0})。format(ran)) #下面显示了每个分数段的分数。
3 if RAN 70 and RAN=80:39ws 1 . write(Q,2, medium ({0})。format(RAN))40 if RAN 80 and RAN=90:41ws 1 . write(Q,2, good ({0})。格式(RAN))
4对于范围(19)中的d:#从2班所有学生的分数中随机抽取数据。
4 ran=random.randint (60,91) 45 if ran=70: 46 ws2.write (d,2, pass ({0})。format(ran))47 if ran 70 and ran=80:48 ws2 . write(d,2,Medium({ 0 })’。format(ran))49 if ran 80 and ran=90:50 ws2 . write(d,2, good ({0})。格式(ran))51
五十二个
53
4WB。保存( 15欢子地理信息系统1班2班实习成绩。xls) #将新创建的表单保存为 15欢子地理信息系统1班2班实习结果。xls的文件。
55
结果如下:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。