Python习题解答:将学生的各科考试成绩保存为csv文件格式
习题解答:将学生的各科考试成绩保存为csv文件格式
·
习题解答:将学生的各科考试成绩保存为csv文件格式
1.题目要求
将学生的各科考试成绩保存为csv文件格式。
2.设计要求
(1)已知学生的学号和各科成绩:
data = [
['99100', 90, 100, 91, 80,],
['99101', 89, 95, 99, 80],
['99102', 87, 90, 67, 100],
['99103', 100, 99, 95, 90],
['99104', 78, 80, 86, 88]
]
(2)计算每位学生的总分,连同各科成绩,一起写入文件“PY_08_06_Scores.csv”。
(3)将文件“PY_08_06_Scores.csv”中的首行设置为标题行,字段名称分别为’学号’, ‘语文’, ‘数学’, ‘英语’, ‘python’, ‘总分’。
3.设计思路
(1)采用列表嵌套方法,存放学号以及对应的成绩。
(2)采用writer对象的writerowa方法写入文件。
# 导入CSV模块
import csv
# 新建嵌套列表data存储学号和成绩
data = [
['99100', 90, 100, 91, 80,],
['99101', 89, 95, 99, 80],
['99102', 87, 90, 67, 100],
['99103', 100, 99, 95, 90],
['99104', 78, 80, 86, 88]
]
# 用for循环计算依次计算每个学生的总成绩
for i in range(5):
# 总成绩=每个子列表后4个元素的和
# data[i]依次取出子列表
# [1:5]取出子列表中的第2个至第5个元素
# sum函数计算子列表的和
total_score = sum(data[i][1:5])
# append函数向列表增加元素
data[i].append(total_score)
# 查看最终生成的列表
#print(data)
# 新建head变量存储标题行
head = ['学号', '语文', '数学', '英语', 'python', '总分']
# 以自动关闭文件的方式写入
# PY_08_06_Scores.csv文件路径(和代码在同一文件夹)
# w写入方式
# encoding='utf-8'编码方式
# newline=''去除CSV文件中的空行
with open('PY_08_06_Scores.csv', 'w', encoding='utf-8', newline='') as f:
# 调用模块的类:模块名.类名()
csv_writer = csv.writer(f)
# 写入标题
csv_writer.writerow(head)
for i in range(5):
# 调用类中的方法:对象.方法名()
# writerow每次只能写入一行
csv_writer.writerow(data[i])
print('写入完毕!')
【终端输出】
写入完毕!
writerow每次只能写入一行,所以用for循环依次取出列表中的子列表
for i in range(5):
# 调用类中的方法:对象.方法名()
# writerow每次只能写入一行
csv_writer.writerow(data[i])
writerows一次性写入多行:
csv_writer.writerow(data)
更多推荐
已为社区贡献12条内容
所有评论(0)