一、测试数据来自文件
1.txt文件测试数据处理
样例
#txt文件处理
#利用open函数以可读方式打开文件,入参可以带相对或绝对路径,用来打开非本目录下的文件
f1=open("author.txt","r",encoding='utf-8')
#用read函数读取文件,读取结果text时字符串类型
text = f1.read()
# 切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法。语法a[start:stop],左闭右开。
# 先利用切片去掉首尾中括号,然后用split函数将字符串初步分割数据
result=text[1:-1].split(',')
print(result)
for a in text:
print(a)
# 利用切片去掉初步分割数据多余部分(开头空格与英文单引号、结尾英文单引号)
print(a[2:-1])
2.CSV文件测试数据处理:
(1)导入包
import csv # python自带,无需安装
(2)文件打开:
file1=open(1.csv, 'r', newline='') # “r”:表示以读的方式打开文件;
file2=open(2.csv, 'w', newline='') # “w”:表示以写的方式打开文件;
说明:
“a”:以追加写的方式打开文件,不会覆盖文件原有数据。
“wb”:表示以二进制写的方式打开文件。
“newline=''”:打开文件加入该参数,防止写入数据时多写入一空行。
“lineterminator='\n'”:效果同“newline=''”。
encoding="utf-8":指定以"utf-8"字符集打开文件,防止文件包含中文出现乱码。
(3)文件读取:
l=csv.reader(file1, delimiter=' ',quotechar='|')
跳过首行:读取文件代码后加readers.__next__(),可以跳过读取首行(首行一般为字段名)
说明:
delimiter:指定分隔符,默认为逗号,这里指定为空格
quotechar:表示引用符,当一段话中出现分隔符的时候,用引用符将这句话括起来,以能排除歧义。比如文件以空格分隔,某个元素是个句子,句子单词之间也是以空格分隔,这时就会用中竖线“|”将该元素括起来,防止产生歧义。
读取后的文件l时可迭代对象,可以用for循环逐行处理:
for row in l:
print(row)
(4)文件写入:
spamwriter = csv.writer(file2, delimiter=' ',quotechar='|')
spamwriter.writerow(['hello world'])
说明:
参数含义同第3节文件读取
写入多个元素时,如果相应每个元素写入一行,方法如下:
import csv
with open("1.csv","w",newline="") as w:
sw=csv.writer(w)
for i in range(5):
sw.writerow([str(i)+'\n'])
(5)追加写入:
读取文件后再每行后面输入测试结果:row.append("测试通过")。
3.excel文件测试数据处理
(1)利用pandas类库样例
import pandas as pd
def get_userdata():
# 打开文件并读文件
df=pd.read_excel('../DDT_test/testcase.xlsx')
# loc[0].values意思是读取第0行,pandas默认不读取第一行,索引0,即为excel第二行
row=df.loc[0].values
print(row)
# 按列名读取某列数据
cloum=df['输入参数'].values
print(type(cloum))
# 将读取的列数据装换成list格式
listdata=cloum.tolist()
# print(type(listdata),listdata)
return listdata
二、测试数据来自数据
1.处理mysql数据库测试数据样例代码
#*********************************
#试验:通过python脚本获取mysql数据库的数据集合
#前提:
#1、本机或其他机器已经安装了mysql服务器
#2、本机安装了mysql客户端
#3、知道数据库访问用户名和密码
#4、建一个测试数据库,或用一个临时数据库表进行试验即可
#**********************************
#导入类库
import pymysql
def get_db_data():
#连接数据库
db=pymysql.connect(host="127.0.0.1",db='jwmall',user='root',passwd='123456',charset='utf8')
#生成游标对象
cursor=db.cursor()
# 执行SQL语句
cursor.execute("select username,password from mmall_user")
# 通过fetchall方法获得全部数据
data=cursor.fetchall()
print(type(data))
# 关闭游标
cursor.close()
# 关闭数据库链接
db.close()
#返回读取数据
return data