将学生的各科考试成绩保存为csv文件格式。
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]
]
# 导入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('写入完毕!')
【终端输出】
写入完毕!
for i in range(5):
# 调用类中的方法:对象.方法名()
# writerow每次只能写入一行
csv_writer.writerow(data[i])
csv_writer.writerow(data)