Python实现读取Excel学生信息并生成随机成绩
158 浏览量
更新于2024-08-28
收藏 206KB PDF 举报
在Python中实现读取Excel表格并在其中生成随机数并写入新Excel的功能,主要涉及到使用xlwt、xlrd和random这三个库。以下是具体步骤:
1. 导入所需库:
```python
import xlwt
import xlrd
import random
```
这些库分别用于操作Excel文件:xlrd用于读取Excel,xlwt用于创建新的Excel文件,random用于生成随机数。
2. 打开并读取源Excel文件:
```python
excel = xlrd.open_workbook(G:\python\新建文件夹\表1.xlsx) # 提供表格的存储位置
sheet = excel.sheets()[0] # 选择第一个工作表
```
这里通过`open_workbook`函数获取Excel文件,然后使用索引访问第一个工作表。
3. 创建新Excel工作簿:
```python
wb = xlwt.Workbook() # 创建一个新的Excel工作簿
ws = wb.add_sheet('成绩单') # 新工作表命名为“成绩单”
```
如果需要处理多个班级的成绩,可以添加更多的工作表,如`ws1`和`ws2`。
4. 读取并存储学生数据:
```python
a = [] # 存放学号
b = [] # 存放姓名
for i in range(1, 14): # 读取B1到C14的数据
a.append(sheet.row_values(i, 1, 2)) # 学号位于第1列(从0开始计数),范围是1-2(包括1)
b.append(sheet.row_values(i, 2, 3)) # 姓名位于第2列,范围也是1-2
# 注:这里要注意,Python中的行和列索引从0开始,所以第1行第1列对应的是row_values(0, 0)。
```
5. 生成随机数并写入新工作表:
```python
for i in range(len(a)): # 遍历学号和姓名列表
score = random.randint(60, 100) # 生成60到100之间的随机分数
ws.write(i, 0, a[i][0]) # 学号写入第一列
ws.write(i, 1, b[i][0]) # 姓名写入第二列
ws.write(i, 2, score) # 生成的随机分数写入第三列
```
6. 保存新Excel文件:
```python
wb.save('生成的成绩单.xlsx') # 将写入数据的工作簿保存为新的Excel文件
```
以上代码实现了从指定的Excel表中读取学号和姓名,然后生成随机成绩,并将这些信息写入新工作表中。如果需要处理多班级,只需适当调整工作表名称和数据存储的位置。
2020-09-18 上传
2024-04-27 上传
点击了解资源详情
2020-09-16 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38621150
- 粉丝: 3
- 资源: 880
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析