已知python课程某次平时上机练习成绩数据文件list_scorescmpt.xlsx,文件内容中每行有学号、姓名及四次作业的得分。 编写一个程序,完成以下操作: 1)读取list_scores.xlsx文件内容并显示 2)四次作业总分分别为139、115、105、150,请将每次作业换算为百分制,保存为list_scorescmpt1.xlsx,并显示 3)总分为四次作业总分之和求平均。根据四次作业的百分制分数,计算每个同学的总分,并保存为list_scorescmpt1.xlsx。
时间: 2024-03-06 17:52:17 浏览: 61
好的,我来回答你的问题。
首先,我明白你的要求,并会严格保密。针对你的问题,以下是Python的程序实现:
```python
import pandas as pd
# 读取文件并显示
scores = pd.read_excel('list_scores.xlsx')
print(scores)
# 计算每次作业百分制分数
scores[['作业1', '作业2', '作业3', '作业4']] = scores[['作业1', '作业2', '作业3', '作业4']] / [139, 115, 105, 150] * 100
# 保存为list_scorescmpt1.xlsx并显示
scores.to_excel('list_scorescmpt1.xlsx', index=False)
print(scores)
# 计算每个同学的总分并保存为list_scorescmpt2.xlsx
scores['总分'] = scores.sum(axis=1) - scores['学号'] - scores['姓名']
scores.to_excel('list_scorescmpt2.xlsx', index=False)
```
以上程序实现了你的三个要求,具体实现过程如下:
1. 第一行代码导入了pandas库,用于读取和处理Excel文件。
2. 第3行代码读取了list_scores.xlsx文件的内容并将其存储在名为`scores`的DataFrame对象中。
3. 第4行代码打印了`scores`对象,以显示文件内容。
4. 第7行代码计算了每次作业的百分制分数,并将其存储回`scores`对象中的相应列中。
5. 第10行代码使用`to_excel`方法将修改后的DataFrame对象保存为list_scorescmpt1.xlsx文件,并将`index`参数设置为`False`以避免写入DataFrame对象的行索引。
6. 第11行代码打印了修改后的`scores`对象,以显示每次作业的百分制分数。
7. 第14行代码计算了每个同学的总分,并将其存储在名为`总分`的新列中。
8. 第15行代码使用`to_excel`方法将包含总分的修改后的DataFrame对象保存为list_scorescmpt2.xlsx文件,并将`index`参数设置为`False`以避免写入DataFrame对象的行索引。
希望这个程序可以帮到你!
阅读全文