编写程序,在目录 d:\python 下读取 Excel 文件“score.xlsx”,计算平均成绩后写入 Excel 文 件“scoreResult.xlsx”,要求如下: ①最后一列统计每个学生的平均分,保留 2 位小数,列名为“平均成绩”; ②最后一行统计各科成绩的平均分,保留 2 位小数。
时间: 2023-07-16 11:16:24 浏览: 157
以下是实现以上要求的 Python 代码:
```python
import openpyxl
# 打开 Excel 文件
wb = openpyxl.load_workbook('d:/python/score.xlsx')
sheet = wb.active
# 统计每个学生的平均分
for i in range(2, sheet.max_row + 1):
total_score = 0
for j in range(2, sheet.max_column):
total_score += sheet.cell(row=i, column=j).value
avg_score = round(total_score / (sheet.max_column - 2), 2)
sheet.cell(row=i, column=sheet.max_column, value=avg_score)
# 统计各科成绩的平均分
for j in range(2, sheet.max_column):
total_score = 0
for i in range(2, sheet.max_row + 1):
total_score += sheet.cell(row=i, column=j).value
avg_score = round(total_score / (sheet.max_row - 1), 2)
sheet.cell(row=sheet.max_row, column=j, value=avg_score)
# 保存结果到新的 Excel 文件
wb.save('d:/python/scoreResult.xlsx')
```
首先,我们使用 `openpyxl` 模块读取源 Excel 文件 `score.xlsx`。然后,我们使用两个嵌套的循环分别计算每个学生的平均分和每门课的平均分,并将结果写入表格中。最后,我们将修改后的表格保存到新的 Excel 文件 `scoreResult.xlsx`。
阅读全文