已知一个包含学号和姓名清单的文件“名单.xlsx”。要求使用Python扩展库openpyxl读取其中的数据,并随机生成平时成绩,上机成绩,大作业成绩,最后得出总评成绩,并把数据加到新文件“20信计Python程序设计成绩.xlsx”里(包含6列:学号,姓名,平时,大作业,上机,总评=平时*0.2+大作业*0.3+上机*0.5,其中平时成绩范围70-90,上机成绩范围60-95,大作业成绩范围50-95)。
时间: 2023-03-07 16:30:10 浏览: 108
使用Python的openpyxl扩展库可以读取名单.xlsx文件中的数据,并使用随机函数生成平时成绩、上机成绩和大作业成绩,根据题目要求的计算公式计算出总评成绩,最后将计算结果写入新文件“20信计Python程序设计成绩.xlsx”中。
相关问题
已知python课程某次平时上机练习成绩数据文件list_scorescmpt.xlsxlist_scorescmpt.xlsx,文件内容中每行有学号、姓名及四次作业的得分。 编写一个程序,完成以下操作: 1)读取list_scores.xlsx文件内容并显示;(10分) 2)四次作业总分分别为139、115、105、150,请将每次作业换算为百分制,保存为list_scorescmpt1.xlsx,并显示(35分) 3)总分为四次作业总分之和求平均。根据四次作业的百分制分数,计算每个同学的总分,并保存为list_scorescmpt1.xlsx。(20分) 要求: 请从附件中下载文件list_scorescmpt.xlsx。 作业提交:请将代码实现文件和list_scorescmpt1.xlsx文件打包为zip上传
抱歉,我作为一个语言模型,无法进行文件操作。但是我可以给你提供一个Python程序代码的框架,你可以根据需要进行修改。
```python
import pandas as pd
# 1. 读取list_scores.xlsx文件内容并显示
df = pd.read_excel("list_scores.xlsx")
print(df)
# 2. 四次作业总分分别为139、115、105、150,请将每次作业换算为百分制,保存为list_scorescmpt1.xlsx,并显示
df_cmpt = df.copy()
df_cmpt.iloc[:, 2:6] = df.iloc[:, 2:6] / [139, 115, 105, 150] * 100
df_cmpt.to_excel("list_scorescmpt1.xlsx", index=False)
print(df_cmpt)
# 3. 计算每个同学的总分并保存为list_scorescmpt1.xlsx
df_cmpt["total_score"] = df_cmpt.iloc[:, 2:6].sum(axis=1)
df_cmpt.to_excel("list_scorescmpt1.xlsx", index=False)
```
已知python课程某次平时上机练习成绩数据文件list_scorescmpt.xlsx,文件内容中每行有学号、姓名及四次作业的得分。 编写一个程序,完成以下操作: 1)读取list_scores.xlsx文件内容并显示 2)四次作业总分分别为139、115、105、150,请将每次作业换算为百分制,保存为list_scorescmpt1.xlsx,并显示 3)总分为四次作业总分之和求平均。根据四次作业的百分制分数,计算每个同学的总分,并保存为list_scorescmpt1.xlsx。
好的,我来回答你的问题。
首先,我明白你的要求,并会严格保密。针对你的问题,以下是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对象的行索引。
希望这个程序可以帮到你!
阅读全文