• python pandas 自动生成批量测试数据插入数据库 mysql


    1、python连接数据库游标

    # coding:utf-8
    
    from sqlalchemy import create_engine
    
    class connet_databases:
        def __init__(self):
            '''
            # 初始化数据库连接,使用pymysql模块
            # MySQL的用户:root, 密码:147369, 端口:3306,数据库:mydb
            '''
            
            _host = '39.108.131.88'
            _port = 3306
            _databases = 'san_jin_sq'  # 'produce' #
    
            _username = 'wuzaipei'
            _password = 'wuzaipei'
    
            self._connect = r'mysql+pymysql://{username}:{password}@{host}:{port}/{databases}'.format(
                username=_username,
                password=_password,
                host=_host,
                port=_port,
                databases=_databases)
    
    engine = create_engine(connet_databases()._connect, echo=True)
    

      

    2、随机字符串类型自动生成

    coding:utf-8
    import random
    
    # 随机生成n个字符串列表
    def randomGenerateList(al,n=0):
        '''
        :param al: 字符串列表   ['八戒','悟空','物镜','师父']
        :param n:   n 为生成字符串列表的长度
        :return: 
        '''
        alist = list(al)
        return [random.choice(alist) for _ in range(n)]
    
    
    
    def dict_conversion(col,dict_list):
        '''
        :param col: 数据库字段
        :param dict_list: 把所有字段列表添加在dict里面
        :return: 合并成一个表
        '''
        col_ = list(col)
        dict_list_ = list(dict_list)
        return dict(zip(col_,dict_list_))
    

      

    3、一个小案例

    import random
    import uuid
    from updateMsql.connectDatabases import engine
    from  updateMsql.generateDemand import randomGenerateList,dict_conversion
    import pandas as pd
    col = [ 'id','日期','品种','批号','销售数量', '销售金额']
    date = pd.date_range('2018-7-11', '2019-10-30',freq='1D')
    n_index = date.__len__()
    ID = [_ for _ in range(n_index)]
    field1 = randomGenerateList(['三金片','西瓜霜润喉片','桂林西瓜霜(喷剂)','西瓜霜清咽含片'],n_index)
    field2 = randomGenerateList(['1001','1002','1003','1004','1005','1006'],n_index)
    field3 = [random.randint(100,500) for i in range(n_index)]
    field4 = [random.randint(500,1000) for j in range(n_index)]
    
    data = pd.DataFrame(data=dict_conversion(col,[ID,date,field1,field2,field3,field4]))
    
    data.to_sql('销售情况分析',engine,if_exists='replace',index=False)
    print(data.head())
    print("----插入成功-----")
    

      

    4、结果测试

  • 相关阅读:
    robotframework之配置文件和资源文件
    robotframework-ride创建测试用例过程
    Robot Framework的环境搭建
    Robot Framework的初始化与清除
    robotframework的安装1
    《这么慢,那么美》摘录
    小白摸索记(一)
    学习笔记-express路径问题
    学习笔记-使用cmd命令行创建nodejs项目
    学习笔记
  • 原文地址:https://www.cnblogs.com/wuzaipei/p/11291428.html
Copyright © 2020-2023  润新知