将下表数据写入csv格式的文件,然后读取该文件数据,并输出到屏幕,且求取平均值,将每条平均值信息输出到average.txt中。 姓名,数学,语文,英语 张三,78,86,89 曾平,82,98,75 李梅,88,98,82
时间: 2023-08-16 10:06:58 浏览: 57
写入csv文件的代码如下:
```python
import csv
data = [
['张三', 78, 86, 89],
['曾平', 82, 98, 75],
['李梅', 88, 98, 82]
]
with open('data.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['姓名', '数学', '语文', '英语'])
for row in data:
writer.writerow(row)
```
读取csv文件的代码如下:
```python
with open('data.csv', 'r', newline='', encoding='utf-8') as f:
reader = csv.reader(f)
header = next(reader)
rows = list(reader)
# 输出表格数据
for row in rows:
print(row)
# 求平均值并输出到文件
with open('average.txt', 'w', encoding='utf-8') as f_avg:
for i in range(1, 4):
subject_sum = sum(int(row[i]) for row in rows)
subject_avg = subject_sum / len(rows)
f_avg.write(f'{header[i]}的平均值为{subject_avg:.2f}\n')
```
运行以上代码后,屏幕输出:
```
['张三', '78', '86', '89']
['曾平', '82', '98', '75']
['李梅', '88', '98', '82']
```
并在average.txt文件中输出:
```
数学的平均值为82.67
语文的平均值为94.00
英语的平均值为82.00
```