随机数写excel java代码_基于python实现在excel中读取与生成随机数写入excel中
搜索热词
具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再生成随机数作为学生的考试成绩。
首先要用到的数据库有:xlwt,xlrd,random这三个数据库。
命令如下:
import xlwt
import xlrd
import random
现有一份表格内容如下图:
现在我们需要提取这其中的B1―C14。
(提示:在对这份电子表格进行操作的时候,要使用到这个电子表格的地址,即表格的储存位置。)
excel=xlrd.open_workbook(G:\python\新建文件夹\表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班成绩单')
)
创建两个list:
a=[]
b=[]
(这两个list是用来临时存放学号与姓名的)
for i in range (1,14): #在大二下学期15级成绩汇总.xlsx表中提取出姓名与学号
a .append(sheet.row_values(i,1,2)) #提取第i行的第1个数,即这个命令抽取的是表中的学号列
b .append(sheet.row_values(i,2,3)) #提取第i行的第2个数,即这个命令抽取的是表中的姓名列
在此特比注意:excel中行与列均是从0开始计算的,即表中第1行第1列在进行处理运行时为第0行第0列,表中第2行第2列在进行处理运行时为第1行第1列。表中sheet也是从0开始算起。
解释一下: a .append(sheet.row_values(i,2))在经过几次错误后我发现,i是指第i行, 1,2 这两个是一段范围。即取的是第1个值,按照上面注意的说,就是表中第二个框格的值。
如果对此有疑问可以试一下将 1,2 修改一个值进行尝试。
for n in range(13): #将学号与姓名写入新建的表格中,并写在第1页,人数为13人。
ws.write(n,a[n][0])
ws.write(n,b[n][0])
提醒:为什么这里要用a[n][0]而不是a[n]?这个是我自己水平有限制的原因。因为在提取表中数据放入a,b两个list中他们的形式是:a=[[111],[112],[113]……]的形式,对于这一点的解决方法我还没想出来,因此只能靠a[n][0]这样的形式来解决。因为在写入新的表格过程中不能将list整个放入框格中,只能放入文本或者其他框格允许的格式。如果你们有什么比较好的方法可以提出来我们一起交流学习,感激不尽。
for q in range(13): #对1班所有人的成绩进行随机抽取数据
ran=random.randint(60,91)
if ran<=70:
ws1.write(q,'及格({0})'.format(ran))
if ran>70 and ran<=80:
ws1.write(q,'中等({0})'.format(ran))
if ran>80 and ran<=90:
ws1.write(q,'良好({0})'.format(ran))
wb.save('15资环1,2班地理信息系统实习成绩.xls') #将新建的表格保存为'15资环1,2班地理信息系统实习成绩.xls'文件
以下代码是由两个班的数据进行运算。
原来的表格为:
import xlwt #引入xlwt数据库用来将数据写入excel文档中
import xlrd #引入xlrd数据库用来从excel中读取数据
import random #引入random数据库给出随机数
excel=xlrd.open_workbook('G:\python\新建文件夹\表1.xlsx') #从一个已有学号与姓名的excel表格中提取出对应的学号和姓名
sheet=excel.sheets()[0]
wb=xlwt.Workbook() #创立一个新的excel表格
ws1=wb.add_sheet('1班成绩单') #第一页命名为1班成绩单
ws2=wb.add_sheet('2班成绩单') #第一页命名为2班成绩单
a1=[] #表1中的学号列
a2=[] #表2中的学号列
b1=[] #表1中的姓名列
b2=[] #表2中的姓名列
for i in range (1,14): #表1.xlsx表中提取出1班的姓名与学号
a1.append(sheet.row_values(i,2))
b1.append(sheet.row_values(i,3))
for j in range (14,33): #在表1.xlsx表中提取出1班的姓名与学号
a2.append(sheet.row_values(j,2))
b2.append(sheet.row_values(j,3))
for n in range(13): #将1班学号与姓名写入新建的表格中,并写在第1页.1班人数为13人
ws1.write(n,a1[n][0])
ws1.write(n,b1[n][0])
for m in range(19): #将2班学号与姓名写入新建的表格中,并写在第2页.2班人数为19人
ws2.write(m,a2[m][0])
ws2.write(m,b2[m][0])
for q in range(13): #对1班所有人的成绩进行随机抽取数据
ran=random.randint(60,91) #分数为60-90之间
if ran<=70:
ws1.write(q,'及格({0})'.format(ran)) #以下表示在各分数段的等级
if ran>70 and ran<=80:
ws1.write(q,'中等({0})'.format(ran))
if ran>80 and ran<=90:
ws1.write(q,'良好({0})'.format(ran))
for d in range(19): #对2班所有人的成绩进行随机抽取数据
ran=random.randint(60,91)
if ran<=70:
ws2.write(d,'及格({0})'.format(ran))
if ran>70 and ran<=80:
ws2.write(d,'中等({0})'.format(ran))
if ran>80 and ran<=90:
ws2.write(d,'良好({0})'.format(ran))
wb.save('15资环1,2班地理信息系统实习成绩.xls') #将新建的表格保存为'15资环1,2班地理信息系统实习成绩.xls'文件
结果如下:
总结
以上所述是小编给大家介绍的基于python实现在excel中读取与生成随机数写入excel中,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!
相关文章
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250
随机数写excel java代码_基于python实现在excel中读取与生成随机数写入excel中相关推荐
- python如何将生成的随机数存入文件中_用python在excel中读取与生成随机数写入excel中...
今天是我第一次发博客,就关于python在excel中的应用作为我的第一篇吧. 具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再 ...
- python点名代码_基于python tkinter的点名小程序功能的实例代码
基于python tkinter的点名小程序功能的实例代码,花名册,次数,窗口,未找到,初始化 基于python tkinter的点名小程序功能的实例代码 易采站长站,站长之家为您整理了基于pytho ...
- python的坐标代码_基于Python的地图坐标服务接口调用代码实例
代码描述:基于Python的地图坐标服务接口调用代码实例 关联数据:地图坐标服务 接口地址:http://www.juhe.cn/docs/api/id/32 #!/usr/bin/python # ...
- python房子代码_基于python的链家小区房价爬取——仅需60行代码!
简介 首先打开相关网页(北京链家小区信息). 注意本博客的代码适用于爬取某个城市的小区二手房房价信息. 如果需要爬取其他信息,可修改代码,链家的数据获取的基本逻辑都差不多. 效果展示 因为只需要60行 ...
- 老司机写的java代码_老司机告诉你高质量的Java代码是怎么练成的?
一提起程序员,首先想到的一定是"码农",对,我们是高产量的优质"码农",我们拥有超跃常人的逻辑思维以及不走寻常路的分析.判别能力,当然,我们也有良好的编码规范, ...
- python三维重建代码_基于Python的三维重建开源代码
[实例简介] 基于Python的三维重建开源代码,包括特征提取,SFM,PMVS以及CMVS等相关功能! [实例截图] [核心代码] sfm-bundler(python) └── sfm-bundl ...
- 21点 小游戏 java代码_基于Java的21点扑克游戏的实现
在上次写的比较牌点的扑克游戏上Java扑克游戏(多人多牌数比较游戏)的实现中,添加21点游戏规则,实现21点牌类游戏.具体实现步骤如下:[需要源代码的留QQ,大家一起探讨探讨哈,谢谢啦!] 抽象出规则 ...
- 编写python手机充值代码_基于Python的天聚人合加油卡充值接口调用代码实例
一.接口申请开通 本代码是基于天聚人合的话费充值API实现的话费充值功能,使用前需要: 通过https://www.tianjurenhe.com/docs/api/?id=1申请开通话费接口服务. ...
- qq动态名片代码_利用Python动态爬取QQ说说并生成词云,分析朋友状况!
今天我们要做的事情是使用动态爬虫来爬取QQ空间的说说,并把这些内容存在txt中,然后读取出来生成云图,这样可以清晰的看出朋友的状况. 这是好友的QQ空间10年说说内容,基本有一个大致的印象了. 爬取动 ...
最新文章
- ffmpeg视频学习网站
- nginx php 配置请求等待时间_CVE-2019-11043: PHP-FPM在Nginx特定配置下任意代码执行漏洞预警...
- xFire客户端代码
- 详谈PHP垃圾回收机制
- 音视频、AI和5G等技术在东京奥运会中的应用
- [css] 怎样去除图片自带的边距?
- c语言中有关main的问题,c语言小问题
- 《Iterative-GAN》的算法伪代码整理
- mac 卸载 mysql su_UBUNTU 彻底删除 MYSQL 然后重装 MYSQL
- 记录下返回list给前端 遇到 $ref:$.data.*** 问题
- C语言:输入一个三位数,反向输出该三位数
- VBA写一个下拉复选框,以及循环判断,附代码
- WIN10你不能访问此共享文件夹,因为你组织的安全策略
- 苹果最新框架教程之 ProximityReader是什么
- VMware Workstation 16 Pro发行说明
- 电子书下载:Adobe PDF 文档格式开发参考 PDF Reference 1.7
- 计算机的硬件系统和软件系统的关系
- 树莓派与DS18B20获取环境温度(Linux)
- EFS】NV65633-LTE搜网能力的NV值、格式、配置
- 解决kali安装过程中DHCP协议问题