Python学习笔记之CSV文件

在接口测试中,我们经常要操作csv文件,那么操作csv文件需要注意哪些事项呢

一、读取csv文件的数据

代码:

import csv
'''打开csv文件'''
with open(r'C:\Users\fsy\Desktop\csv文件.csv')as f:
    '''创建文件读取器,并传入文件对象f'''
    readercsv = csv.reader(f)
    '''reader返回对象是一个列表,或者说是一个可迭代对象,用for循环取出列表中的数据'''
    for row in readercsv:
        print(row)

返回结果如图:
在这里插入图片描述

二、读取文件中的某一列以及多列

代码:

import csv
'''打开csv文件'''
with open(r'C:\Users\fsy\Desktop\csv文件.csv')as f:
    '''创建文件读取器,并传入文件对象f'''
    readercsv = csv.reader(f)
    '''reader返回对象是一个列表,或者说是一个可迭代对象,用for循环取出列表中的数据'''
    column = [row[2] for row in readercsv]
    print(column)

运行结果如图:
在这里插入图片描述

三、读取文件某一行

代码:

import csv
'''打开csv文件'''
with open(r'C:\Users\fsy\Desktop\csv文件.csv')as f:
    '''创建文件读取器,并传入文件对象f'''
    readercsv = csv.reader(f)
    '''reader返回对象是一个列表,或者说是一个可迭代对象,用for循环取出列表中的数据'''
    for i, rows in enumerate(readercsv):
        if i == 0:
            row = rows
    print(row)

读取的第一行
在这里插入图片描述

四、把数据写入到csv文件

代码:

import csv
'''写入的数据为列表'''
headers = ['class','name','sex','height','year']
rows = [
        [1,'zhagnsan','male',168,23],
        [2,'lisi','female',172,27],
        [3,'wangwu','female',165,25],
        [4,'zhaoliu','male',170,29]
        ]
with open(r'C:\Users\fsy\Desktop\csv文件.csv','w')as f:
    write_csv = csv.writer(f)
    write_csv.writerow(headers) #单行写入
    write_csv.writerows(rows)#一次写入多行

写入后文件:
在这里插入图片描述

五、写入字典类型的数据

代码:

import csv
headers = ['class','name','sex','height','year']
rows = [
        {'class':1,'name':'zhangsan','sex':'male','height':173,'year':23},
        {'class':2,'name':'wangwu','sex':'female','height':162,'year':22},
        {'class':3,'name':'lisi','sex':'female','height':163,'year':31},
        {'class':4,'name':'xiaoli','sex':'male','height':158,'year':21},
        ]

with open('r'C:\Users\fsy\Desktop\csv文件.csv','w',newline='')as f:
    f_csv = csv.DictWriter(f,headers)
    f_csv.writeheader()# 写入表头用writeheader()方法
    f_csv.writerows(rows)#写入一行字典系列数据调用writerrow方法,写入多行用writerrows

运行后截图:
在这里插入图片描述
在写入文件时,一定要关闭csv文件再写入,否则会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值