将下表数据写入csv格式的文件,然后读取该文件数据,并输出到屏幕,且求取平均值,将每条平均值信息输出到average.txt中。 姓名,数学,语文,英语 张三,78,86,89 曾平,82,98,75 李梅,88,98,82
时间: 2023-08-16 09:06:58 浏览: 142
从文本文件输入n个同学的姓名、性别、成绩,按成绩又高到底的顺序输出所有学生信息,分别求出男同学、女同学的平均成绩并输出
4星 · 用户满意度95%
写入csv文件的Python代码如下:
```python
import csv
data = [['姓名', '数学', '语文', '英语'],
['张三', 78, 86, 89],
['曾平', 82, 98, 75],
['李梅', 88, 98, 82]]
# 写入csv文件
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
```
读取csv文件并输出数据和平均值的Python代码如下:
```python
import csv
# 读取csv文件
with open('data.csv', 'r') as file:
reader = csv.reader(file)
data = list(reader)
# 计算平均值
averages = []
for i in range(1, len(data)):
row = data[i]
name, math, chinese, english = row[0], int(row[1]), int(row[2]), int(row[3])
average = (math + chinese + english) / 3
averages.append([name, average])
# 输出数据和平均值
for row in data:
print(row)
print('平均值:')
for row in averages:
print(row)
# 写入平均值到文件
with open('average.txt', 'w') as file:
for row in averages:
file.write(row[0] + ': ' + str(row[1]) + '\n')
```
输出结果如下:
```
['姓名', '数学', '语文', '英语']
['张三', '78', '86', '89']
['曾平', '82', '98', '75']
['李梅', '88', '98', '82']
平均值:
['张三', 84.33333333333333]
['曾平', 85.0]
['李梅', 89.33333333333333]
```
输出结果中,第一行是从csv文件中读取的表头,后面三行是从csv文件中读取的数据。接下来是计算的平均值,最后是将平均值写入到average.txt文件中的结果。
阅读全文