目录
解析流程:
封装读取文件方法:
当我们在做自动化测试的时候,遇到批量测试数据的时候,可以将数据保存在Excel表格中,然后用代码去读取Excel表中的内容。
解析流程:
- 新建一个Excel表格,保存好需要导入的数据,将Excel表格的后缀名改为csv,然后将表格保存到我们想要存放数据的路径下。
- 导入代码库 import csv
- 指定csv文件所在的路径
- 打开csv文件
- 读取csv文件中的内容
- 打印csv文件的内容
初步代码如下:
# 1.导入代码库
import csv
# 2.指定csv文件所在的路径
path = r"D:\PythonProject\SeleniumTest2\test_data\register_test_cases.csv"
# 当路径中存在反斜线\时,需要在字符串前面加一个字母r,用来表示不再把反斜线看成转义字符
# 3.打开csv文件
file = open(path)
# 4.读取csv文件中的内容
table = csv.reader(file)
# 5.打印csv文件的内容
for row in table:
print(row)
封装读取文件方法:
先展示一下我的csv数据和存放路径:
因为表格中有表头,所以需要去除第一行再读取数据,封装代码如下:
# 封装读取文件方法
import csv
import os.path
def reader(filename):
list = [] # 声明一个列表用以存放数据
# path = "../test_data/" + filename
base_path = os.path.dirname(__file__) # 定义当前文件夹的绝对路径D:\PythonProject\SeleniumTest2\func
path = base_path.replace("func", "test_data/" + filename)
# file = open(path)
with open(path) as file: # 会自动关闭文件
table = csv.reader(file)
# list = []
i = 0
for row in table:
if i == 0:
pass # 去掉表里第一行的表头
else:
list.append(row)
i += 1
return list
?解析:
- 当第一行表头必不可少时,就可以采用图中去除第一行的方法。
- 使用with open(path) as file方法可以在读取数据之后自动关闭文件。
- 我们之后再想读取什么数据,只需将csv表格放到对应路径下,然后调用reader方法就可以了。
?
|