创建并读取csv文件

【问题描述】一个列表变量t=[[“1001”,66,79],[“1002”,92,90],[“1003”,87,98],[“1004”,50,61],[“1005”,75,82]]保存5个学生的学号和两门课成绩,要求创建一个scores.csv文件,将这5个学生信息输出到scores.csv中,文件有5个记录(即5行),每一个记录包含3个数据项,分别是学号和两门课成绩,然后读取scores.csv文件,将文件中的每行信息在屏幕上输出。

【输入形式】用csv.reader()读取scores.csv文件中的数据

【输出形式】先用csv.writer()将数据输出到scores.csv文件中,再用print()将文件中的每个记录输出到屏幕上。

【样例输入】
【样例输出】

[‘1001’, ‘66’, ‘79’]

[‘1002’, ‘92’, ‘90’]

[‘1003’, ‘87’, ‘98’]

[‘1004’, ‘50’, ‘61’]

[‘1005’, ‘75’, ‘82’]

【样例说明】输出到文件中的数据和【样例输出】中的数据一样。
【评分标准】

import csv

t = [["1001", 66, 79], ["1002", 92, 90], ["1003", 87, 98], ["1004", 50, 61], ["1005", 75, 82]]
with  open("scores.csv", "w+", newline="") as fcsv:
    fo = csv.writer(fcsv)
    for i in t:  # 遍历t中每个元素
        fo.writerow([i[0], i[1], i[2]])  # 将一个记录(一行数据)写入文件中
    fcsv.seek(0)  # 文件指针移至文件开始位置
    fi = csv.reader(fcsv)
    # 利用csv.reader()读取文件中所有记录
    for i in fi:  # 遍历每个记录
        print(i)  # 输出每个记录

【问题描述】一个列表变量t=[[“2301”,86,79],[“2302”,92,70],[“2303”,88,95],[“2304”,62,63],[“2305”,86,80]]保存5个学生的学号和两门课成绩,要求创建一个scores.csv文件,将这5个学生信息输出到scores.csv中,文件有5个记录(即5行),每一个记录包含4个数据项,分别是学号、两门课成绩和总分,然后读取scores.csv文件,将文件中的每行信息在屏幕上输出。

【输入形式】用csv.reader()读取scores.csv文件中的数据

【输出形式】先用csv.writer()将数据输出到scores.csv文件中,再用print()将文件中的每个记录输出到屏幕上。

【样例输入】
【样例输出】

2301 86 79 165

2302 92 70 162

2303 88 95 183

2304 62 63 125

2305 86 80 166

【样例说明】输出到文件中的数据用记事本打开,内容如下:

2301,86,79,165

2302,92,70,162

2303,88,95,183

2304,62,63,125

2305,86,80,166

【评分标准】

import csv
t=[["2301",86,79],["2302",92,70],["2303",88,95],["2304",62,63],["2305",86,80]]
with open("scores.csv","w+",newline="")as fcsv:
    fo=csv.writer(fcsv)
    for i in t: #遍历t中每个元素
        x=i[1]+i[2] #计算总分
        fo.writerow([i[0],i[1],i[2],x]) #将一个包含4项数据的记录(一行数据)输出到文件中
    fcsv.seek(0) #文件指针移至文件开始位置
    fi=csv.reader(fcsv) #利用csv.reader()读取文件中所有记录
    for i in fi: #遍历每个记录
        print(i[0],i[1],i[2],i[3]) #将每个记录的所有数据输出到屏幕上
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值