Python实现读取Excel学生信息并生成随机成绩

2 下载量 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表中读取学号和姓名,然后生成随机成绩,并将这些信息写入新工作表中。如果需要处理多班级,只需适当调整工作表名称和数据存储的位置。