在接口测试中,我们经常要操作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)

返回结果如图:

python读取csv忽略错误 python csv读取_python读取csv忽略错误

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

代码:

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)

运行结果如图:

python读取csv忽略错误 python csv读取_创建文件_02

三、读取文件某一行

代码:

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)

读取的第一行

python读取csv忽略错误 python csv读取_Desktop_03

四、把数据写入到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)#一次写入多行

写入后文件:

python读取csv忽略错误 python csv读取_创建文件_04

五、写入字典类型的数据

代码:

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

运行后截图:

python读取csv忽略错误 python csv读取_数据_05


在写入文件时,一定要关闭csv文件再写入,否则会报错