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、結果測試

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM