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、结果测试

python pandas 自动生成批量测试数据插入数据库 mysql的更多相关文章
- mysql快速生成批量测试数据
mysql快速生成批量测试数据 参考资料: https://blog.csdn.net/oahz4699092zhao/article/details/53332148 -- 创建一个临时内存表 ; ...
- .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转
.net mvc 站点自带简易SSL加密传输 因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...
- 使用Myeclipse10.0自动生成搭建SSH框架(数据库表自动反向转换成Hibernate实体)实现用户登陆
我这里使用的数据库是mysql5.0 数据是上课用的.这些都不是重点,重要的是学会这个方法: 创建好数据库: create database jboadefault character set utf ...
- Springboot 系列(十一)使用 Mybatis(自动生成插件) 访问数据库
1. Springboot mybatis 介绍 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数获取 ...
- Word报告自动生成(例如 导出数据库结构)
将很早之前写的一个小组件重新整理优化一下,做成一个通用的功能.适用于导出数据库的结构(表.字段等)到Word或将体检数据自动生成Word版的体检报告等.代码:Github 一.主要需要完成功能: 1. ...
- (Python)自动生成代码(方法一)
在写某个平台的自动化脚本时,笔者把全部的操作都封装到了两个类中,page.py和commonpage.py: page.py部分代码: class BasePage(object): ''' 页面基础 ...
- Python项目自动生成当前项目的requirements文件
使用pip freeze $ pip freeze > requirements.txt 这种方式是把整个环境中的包都列出来了,如果是虚拟环境可以使用. 通常情况下我们只需要导出当前项目的r ...
- Pycharm 设置python文件自动生成头部信息模板
设置头部信息路径: 打开File—Settings—Editor—File and Code Templates—Python Script 输入要自动生成的头部信息模板 这样,新建py文件就会自动生 ...
- Python实现自动生成小学四则运算题目
Github地址: https://github.com/guoyuyi/gyy.github.io/blob/%E4%BD%9C%E4%B8%9A1/zy1.py 题目描述: 通过python语言编 ...
随机推荐
- synology nas
synology nas synology nas synology nas https://www.synology.cn/zh-cn
- Java并发编程实战 第10章 避免活跃性危险
死锁 经典的死锁:哲学家进餐问题.5个哲学家 5个筷子 如果没有哲学家都占了一个筷子 互相等待筷子 陷入死锁 数据库设计系统中一般有死锁检测,通过在表示等待关系的有向图中搜索循环来实现. JVM没有死 ...
- 跨域 (3) window.name
window对象有一个name属性,该属性有一个特征:即在一个窗口的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每一个页面对window.name都有读写的权限,window ...
- 算法——二进制解决N皇后(超级酷炫o((>ω< ))o
先贴代码: public class Solution { void NQueen(int N, int row, int col, int pie, int na, int[] res) { if ...
- winform 异步更新ui
http://download.csdn.net/download/mingge38/9378852
- springmvc请求参数异常统一处理,结合钉钉报告信息定位bug位置
参考之前一篇博客:springmvc请求参数异常统一处理 1.ExceptionHandlerController package com.oy.controller; import java.tex ...
- PHP基础教程 PHP的页面缓冲处理机制
PHP有很多机制.函数,其实就是魔术师,重复发挥好,其实甚至是简单应用,就会出现神奇的效果.兄弟连PHP培训 这里来讲一个ob_start()函数. ob_start()函数用于打开缓冲区,比如hea ...
- 文件操作工具类FileUtils
package yqw.java.util; import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import ...
- 【canvas学习笔记五】使用图片
在canvas里画图有两个步骤: 获得图片源. drawImage()画图. 图片源 canvas支持以下几种图片资源: HTMLImageElement 可以使用Image()方法构造的图片,也可以 ...
- vue.js 深度监测
1.select 控件赋值改变,但是无法获取 解决方法,在监测时手动赋值新值 'model.UseType': { handler(newVal, oldVal) { $("#UseType ...