编写程序,在目录 d:\python 下读取 Excel 文件“score.xlsx”,计算平均成绩后写入 Excel 文 件“scoreResult.xlsx”,要求如下: ①最后一列统计每个学生的平均分,保留 2 位小数,列名为“平均成绩”; ②最后一行统计各科成绩的平均分,保留 2 位小数。
时间: 2024-02-16 10:00:24 浏览: 30
好的,这是一个使用 Python 操作 Excel 文件的问题,需要使用第三方库 openpyxl,你可以使用以下代码来实现:
```python
import openpyxl
# 打开 workbook
workbook = openpyxl.load_workbook('d:/python/score.xlsx')
# 打开 sheet
sheet = workbook.active
# 遍历每一行,计算每个学生的平均成绩
for row in sheet.iter_rows(min_row=2, values_only=True):
avg_score = round(sum(row[1:-1]) / (len(row) - 2), 2)
sheet.cell(row=row[0], column=sheet.max_column).value = avg_score
# 计算每个科目的平均成绩
for col in sheet.iter_cols(min_col=2, max_col=sheet.max_column-1, values_only=True):
avg_score = round(sum(col) / len(col), 2)
sheet.cell(row=sheet.max_row, column=col[0].column).value = avg_score
# 保存结果到新的文件
workbook.save('d:/python/scoreResult.xlsx')
```
以上代码会打开名为 `score.xlsx` 的 Excel 文件,计算每个学生的平均成绩并写入最后一列,计算每个科目的平均成绩并写入最后一行,最后将结果保存到名为 `scoreResult.xlsx` 的新文件中。
阅读全文