不用来源测试数据处理

一、csv文件

import CSV

1.1文件打开

fileopen = open("filename","w",newline="",encoding="utf-8")

打开方式:

r:只读

w:写入

wb:二进制写入

newline="":解决写入空行问题。

encoding="utf-8":指定打开文件字符集,解决文件包含中文字符打开乱码。

1.2文件读取:

readers=csv.reader(fileopen) # fileopen为以读取方式(r)打开文件

readers.__next__() #读取文件跳过首行

读取后的文件为可迭代对象,可以安照每行来迭代

for row in readers:
        # print(type(row[2]))
        #将type为str的字典格式数据的类型转换成dict
        userdata=eval(row[2])

1.3文件写入

writer = csv.writer(fileopen)# fileopen为以写入方式(w)打开文件

writer.writerow(data) #将数据以一行方式写入文件

writerow([str1,str2]+[str3]) #加中括号写入时不会被拆分,+号相当于英文逗号。

1.x 样例代码

#试验2:csv文件操作
#打开文件
import csv
def get_userdata():
    #登录数据列表
    dataList=[]
    file1=open("../DDT_test/testcase.csv","r")
    #读文件
    readers=csv.reader(file1)
    #跳过首行
    readers.__next__()
    for row in readers:
        # print(type(row[2]))
        #将type为str的字典格式数据的类型转换成dict
        userdata=eval(row[2])
        # print(type(userdata),userdata)
        dataList.append(userdata)
    print(dataList)
    return dataList

二、excel

2.1导入类库pandas

import pandas as pd #起别名为pd,后面通过别名调用pandas方法

2.2文件打开读取

df=pd.read_excel('filename') #打开并读取文件

pandas默认不读取第一行

2.3数据获取

2.3.1按照行获取

row=df.loc[0].values # loc[0].values意思是获取第2行数据,索引0,即为excel第二行。

2.3.2按照列获取

cloum=df['输入参数'].values # 按列名读取某列数据

listdata=cloum.tolist() #转换成列表格式操作

2.x样例代码

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

三、txt文件

暂时没了解到txt文件操作类库

3.1 文件打开

fileopen = open("filename","w",newline="",encoding="utf-8")

打开方式:

r:只读

w:写入

wb:二进制写入

newline="":解决写入空行问题。

encoding="utf-8":指定打开文件字符集,解决文件包含中文字符打开乱码。

3.2文件读取

text = fileopen.read() #用read函数读取文件,读取结果text时字符串类型。

3.3 文件数据获取

对字符串切片(视为列表)然后分隔(split函数),可以按照分隔结果迭代,可循环处理。

3.x 样例代码

#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])

四、数据库

4.x 样例代码

#*********************************
#试验:通过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

FAQ

1.数据类型转换

1.1将type为str的字典格式数据的类型转换成dict

userdata=eval(row[2])

1.2 将type为str的列表格式数据装换成list

listdata=cloum.tolist()

2.纯数字写入excel会自动以科学计数法记录

在测试数据后面加"\t"以文本方式写入csv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值