读取CSV文件(文本格式)student_score.csv中所有的行,每行包含了学生学号,姓名及Python成绩(有列名),如下: 学号,姓名,Python 202203,张三,90 202209,李四,88 202218,王五,79 ……,……,…… 计算所有学生Python成绩的平均分和中位数,把统计结果写入文本文件result.txt中。
时间: 2024-02-20 10:59:21 浏览: 33
好的,我们可以使用Python的csv模块来处理CSV文件,并使用numpy库来计算平均分和中位数。以下是一个示例代码:
```python
import csv
import numpy as np
# 打开CSV文件
with open('student_score.csv', 'r') as f:
# 创建CSV读取器
reader = csv.reader(f)
# 读取列名
header = next(reader)
# 创建分数列表
scores = []
# 读取每行数据
for row in reader:
# 将Python分数转换为整数并添加到列表中
scores.append(int(row[2]))
# 计算平均分和中位数
average_score = np.mean(scores)
median_score = np.median(scores)
# 将结果写入文件
with open('result.txt', 'w') as f:
f.write("平均分数为: {}\n".format(average_score))
f.write("中位数为: {}".format(median_score))
```
在这个示例代码中,我们首先使用`csv.reader`函数创建一个CSV读取器,并使用`next`函数读取第一行数据作为列名。然后,我们遍历每一行数据,并将第三列Python分数转换为整数并添加到`scores`列表中。接着,我们使用numpy库的`mean`和`median`函数计算出平均分和中位数。最后,我们使用`with`语句打开一个新文件`result.txt`,并将统计结果写入文件中。
需要注意的是,这个示例代码假设CSV文件中的数据都是正确的,如果文件格式不正确或数据类型不一致,可能会导致程序出错,需要进行相应的异常处理。