能不能使用openpyxl库
时间: 2023-08-04 22:35:13 浏览: 42
当然可以,openpyxl也是一个非常好用的Python库,它专门用于处理Excel文件。你可以按照以下步骤来使用openpyxl解决这个问题:
1. 生成随机的成绩数据,并将其写入Excel文件中。
``` python
import random
from openpyxl import Workbook
students = ['Tom', 'Bob', 'Alice', 'Jack']
courses = ['Math', 'English', 'Science']
data = []
for i in range(100):
name = random.choice(students)
course = random.choice(courses)
score = random.randint(60, 100)
data.append((name, course, score))
# 将数据写入Excel文件中
wb = Workbook()
ws = wb.active
ws.append(['姓名', '课程', '成绩'])
for row in data:
ws.append(row)
wb.save('scores.xlsx')
```
2. 读取Excel文件中的数据,并按照学生姓名和课程名称进行分组,取每组的最大值作为最高成绩。
``` python
from openpyxl import load_workbook
# 读取Excel文件中的数据
wb = load_workbook('scores.xlsx')
ws = wb.active
rows = list(ws.rows)[1:]
# 按照学生姓名和课程名称进行分组,并取每组的最大值作为最高成绩
max_scores = {}
for row in rows:
name, course, score = [cell.value for cell in row]
key = (name, course)
if key not in max_scores or score > max_scores[key]:
max_scores[key] = score
# 将结果写入新的Excel文件
wb = Workbook()
ws = wb.active
ws.append(['姓名', '课程', '最高成绩'])
for key, value in max_scores.items():
name, course = key
ws.append([name, course, value])
wb.save('max_scores.xlsx')
```
这样,就可以使用openpyxl库完成题目要求的统计每位学生每门课程的最高成绩,并将结果写入新的Excel文件中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)