79. 将3个csv文件汇总成一个csv文件
1. 新建1个CSV文件
已知5个学生的学号和5个科目的成绩如下:
data = [
['01', 100, 100, 100, 100],
['02', 90, 90, 90, 90],
['03', 80, 80, 80, 80],
['04', 70, 70, 70, 70],
['05', 60, 60, 60, 60]
]
我这里用嵌套列表表示学生的学号和成绩。
【目标任务】
-
计算每位学生的总分,连同各科成绩,一起写入
1班成绩.csv
文件。 -
将CSV文件的首行设置为标题行,字段名称分别为
学号, 语文, 数学, 英语, python, 总分
。 -
用代码输出写入的内容。
【准备工作】
-
在电脑D盘新建一个【79】文件夹。
-
用VScode编辑器打开【79】文件夹。
-
在【79】文件夹中新建一个
79.py
文件。 -
大家在
79.py
文件中编写代码。
【参考答案】
# 导入os 模块,用于创建文件目录
import os
# 导入 csv 模块,用于操作CSV文件
import csv
# mkdir作用是创建目录,作用等同于新建一个【成绩汇总】文件夹
# 括号里的内容是madir函数的参数
# 这里的参数值为相对路径
os.mkdir("成绩汇总")
# 用字典存储要写入CSV文件的信息
dict1 = {
'学号': '01', '语文': '100','数学': '100','英文': '100','Python': '100','总分': '400'}
dict2 = {
'学号': '02', '语文': '90','数学': '90','英文': '90','Python': '90','总分': '360'}
dict3 = {
'学号': '03', '语文': '80','数学': '80','英文': '80','Python': '80','总分': '320'}
dict4 = {
'学号': '04', '语文': '70','数学': '70','英文': '70','Python': '70','总分': '280'}
dict5 = {
'学号': '05', '语文': '60','数学': '60','英文': '60','Python': '60','总分': '240'}
# 设置文件的表头,即列名
header = ['学号', '语文', '数学','英文','Python','总分']
# 文件的相对路径
file_path = r'成绩汇总/1班成绩.csv'
# 以自动关闭文件的方式创建文件对象
with open(file_path, 'a', encoding='utf-8', newline="") as f:
# 实例化类 DictWriter(),得到 DictWriter 对象
dw = csv.DictWriter(f, fieldnames=header)
# writeheader方法写入文件的表头
dw.writeheader()
# writerows方法一次性写入多行
# 方法的参数为列表
dw.writerows([dict1, dict2, dict3, dict4, dict5])
with open(file_path,