Python实现读取Excel学生信息并生成随机成绩
155 浏览量
更新于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
最新资源
- RoslynQuoter:Roslyn工具,用于给定的C#程序显示语法树API调用以构造其语法树
- 奢华酒店别墅预定响应式模板
- 西蒙游戏
- 交通灯控制PLC程序.rar
- 电信设备-基于邻域信息与高斯滤波的CBCT全景图非线性锐化增强方法.zip
- invisiblecities:书本探索
- 华硕TUF B450M-PLUS GAMING驱动程序下载
- 教育门户手机网站模板
- anonym-blog:博客系统
- 零基础也能学会的目标检测:YOLO入门指南!.zip
- 韩国平网程序.rar
- rlisp:用Ruby编写的简单方案解释器
- masstech-info-demo-page
- template-react-styled-components:模板criado做零通信创建应用程序的应用程序样式化组件
- starting-websockets:Makers Academy 第 7 周活动 - Websockets 和 Socket.io 简介
- GUI Timestack processing software-开源