用Python写以下程序:文本文件Data.csv中存放了某学习平台的学员姓名、积分、成长值数据,文件内容如图所示。 image007.png 请编写程序,完成如下功能: ① 从文件中读出数据。 ② 计算最高成长值、最低成长值和平均成长值,显示并且写入文件New_Data.csv
时间: 2024-04-01 15:36:13 浏览: 91
以下是代码实现:
```python
import csv
# 读取Data.csv文件
with open('Data.csv', 'r') as file:
reader = csv.reader(file)
next(reader) # 跳过表头
data = [list(map(int, row[1:])) for row in reader] # 只取积分和成长值
# 计算最高成长值、最低成长值和平均成长值
growth_list = [row[1] for row in data]
max_growth = max(growth_list)
min_growth = min(growth_list)
avg_growth = sum(growth_list) / len(growth_list)
# 显示并写入New_Data.csv文件
with open('New_Data.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['最高成长值', '最低成长值', '平均成长值'])
writer.writerow([max_growth, min_growth, avg_growth])
print('最高成长值:', max_growth)
print('最低成长值:', min_growth)
print('平均成长值:', avg_growth)
```
代码说明:
1. 使用csv模块读取Data.csv文件,跳过表头,只取积分和成长值数据,存储在data列表中。
2. 从data列表中提取成长值数据,计算最高成长值、最低成长值和平均成长值。
3. 使用csv模块创建New_Data.csv文件,写入表头和计算结果,同时在控制台输出计算结果。注意,需要指定newline=''参数避免写入文件时出现空行。
阅读全文