在接口测试中,我们经常要操作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文件再写入,否则会报错