当前位置: 首页 > news >正文

利用python做模拟数据(测试数据),连接数据库和服务器接口,涉及雪花id服务

import datetime
import jsonimport pymysql
import requests
import snowflake.client
from faker import Faker#cmd启动snowflake服务:
#snowflake_start_server --address=localhost --port=8910 --dc=1 --worker=1
def create_testers():# 创建一个中文Faker实例fake = Faker('zh_CN')url = "http://192.168.16.178:8081/v1/app/test/submit"try:# 创建一个数据库连接conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',password='root',database='yzpj')print('连接mysql成功')# 创建一个游标cursor = conn.cursor()# 创建一个sqL语句sql = "INSERT INTO `t_tester`(`id`, `name`, `id_type`, `id_no`, `phone`, `gender`, `birthday`, `education`,`education_years`, `subjective_ses`, `family_monthly_earning`,`status`,`create_time`) values(%s, %s, %s,  %s,%s, %s, %s, %s, %s, '%s', %s, %s, %s)"# 循环生成用户数据  生成334次for i in range(1, 101):for j in range(10):# 生成中文姓名id = snowflake.client.get_guid()name = fake.name()id_type = 1id_no = fake.ssn()phone = fake.phone_number()# 从身份证号中提取出生日期birth_year = int(id_no[6:10])birth_month = int(id_no[10:12])birth_day = int(id_no[12:14])birthday = datetime.date(birth_year, birth_month, birth_day)# 提取性别gender = int(id_no[-2])if gender % 2 == 0:gender = 2  # 女else:gender = 1  # 男# 教育程度education = fake.random_int(min=1, max=6, step=1)education_years = fake.random_int(min=9, max=20, step=1)# 社会地位subjective_ses = fake.random_int(min=1, max=10, step=1)# 家庭收入family_monthly_earning = fake.random_int(min=1, max=8, step=1)status = 1create_time = fake.date_time_between(start_date='-10M', end_date='-9M')# 执行sql语句cursor.execute(sql, (id, name, id_type, id_no, phone, gender, birthday.strftime('%Y-%m-%d'), education,education_years, subjective_ses, family_monthly_earning, status, create_time.strftime('%Y-%m-%d %H:%M:%S')))# 提交事务conn.commit()answer = {"Q1": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q2": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q3": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q4": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q5": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q6": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q7": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q8": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q9": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q10": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q11": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q12": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q13": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q14": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q15": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q16": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q17": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q18": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q19": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q20": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q21": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q22": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q23": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q24": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q25": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q26": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q27": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q28": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q29": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q30": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q31": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q32": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q33": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q34": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q35": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q36": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q37": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q38": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q39": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q40": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q41": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q42": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q43": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q44": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q45": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q46": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q47": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q48": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q49": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q50": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q51": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q52": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q53": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q54": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q55": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q56": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q57": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q58": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"Q59": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"CH1": fake.random_element(elements=('A', 'B', 'C', 'D', 'E')),"CH2": fake.random_element(elements=('A', 'B', 'C', 'D', 'E')),"CH3": fake.random_element(elements=('A', 'B', 'C', 'D', 'E')),"CH4": fake.random_element(elements=('A', 'B', 'C', 'D', 'E')),"CH5": fake.random_element(elements=('A', 'B', 'C', 'D', 'E')),"CH6": fake.random_element(elements=('A', 'B', 'C', 'D', 'E')),"CH7": fake.random_element(elements=('A', 'B', 'C', 'D', 'E')),"CH8": fake.random_element(elements=('A', 'B', 'C', 'D', 'E')),"CH9": fake.random_element(elements=('A', 'B', 'C', 'D', 'E')),"CH10": fake.random_element(elements=('A', 'B', 'C', 'D', 'E')),"DC1": fake.random_element(elements=('A', 'B', 'C')),"DC2": fake.random_element(elements=('A', 'B', 'C')),"DC3": fake.random_element(elements=('A', 'B', 'C')),"DC4": fake.random_element(elements=('A', 'B', 'C')),"DC5": fake.random_element(elements=('A', 'B', 'C', 'D')),"DC6": fake.random_element(elements=('A', 'B', 'C')),"DC7": fake.random_element(elements=('A', 'B', 'C')),"DC8": fake.random_element(elements=('A', 'B', 'C')),"DC9": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K')),"DC10": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"DC11": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"DC12": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"DC13": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G')),"DC14": fake.random_element(elements=('A', 'B', 'C', 'D', 'E', 'F', 'G'))}json_answer = json.dumps(answer)# 提交测评结果data = {"userId": str(id_no),"testType": "1101","testTime": create_time.strftime('%Y-%m-%d %H:%M:%S'),"userAnswer": json_answer,"totalTime": str(fake.random_int(min=90, max=300, step=5)),"stage": "1","status": "1"}json_data = json.dumps(data)data_post(url, json_data)# 提交事务# conn.commit()print('{}条数据插入成功'.format(i*10))# 关闭游标cursor.close()# 关闭连接conn.close()print('关闭数据库连接')except Exception as e:print(e)def data_post(url, data):headers = {"content-type": "application/json;charset=utf-8"}try:response = requests.post(url=url, headers=headers, data=data)if response.status_code == 200:print('请求成功')else:raise Exception('未正常响应请求')return dataexcept requests.exceptions.RequestException as e:print(e)if __name__ == '__main__':create_testers()

前提必须先安装雪花服务

安装Faker库
pip install faker安装最新版PyMySQL
pip install pymysql安装雪花算法库
pip install pysnowflake安装requests库
pip install requestscmd启动snowflake服务:
snowflake_start_server --address=localhost --port=8910 --dc=1 --worker=1

http://www.lryc.cn/news/329144.html

相关文章:

  • 大模型日报2024-03-30
  • 【ARM 嵌入式 C 入门及渐进 14 -- C 代码中取余与取模的使用介绍】
  • C++入门知识详细讲解
  • pytorch中的torch.hub.load():以vggish为例
  • mysql 用户管理-权限管理
  • RabbitMQ--04--发布订阅模式 (fanout)-案例
  • 基于java+SpringBoot+Vue的网上书城管理系统设计与实现
  • PCL点云处理之M估计样本一致性(MSAC)平面拟合(二百三十六)
  • 通过WSL在阿里云上部署Vue项目
  • 240330-大模型资源-使用教程-部署方式-部分笔记
  • uni-app 富文本编辑器
  • 3D汽车模型线上三维互动展示提供视觉盛宴
  • 如何在Flutter中进行网络请求?
  • node:ReferenceError: XMLHttpRequest is not defined
  • PHP定时任务框架taskPHP3.0的学习记录1(TaskPHP、执行任务类的实操代码实例)
  • 图腾柱PFC:HP1010为您的电动两轮车之旅提供绿色,高效,安全的动力
  • 动态规划-----背包类问题(0-1背包与完全背包)详解
  • 通过 Docker 搭建 BookStack
  • 通俗易懂:什么是Java虚拟机(JVM)?它的主要作用是什么?
  • [k8s] kubectl执行失败后等待一段时间再重试 (Shell实现)
  • java中的static和单例模式
  • RabbitMQ相关总结
  • RAFT: Adapting Language Model to Domain Specific RAG
  • 第十五届蓝桥杯第三期模拟赛第十题 ← 上楼梯
  • 第四题:星期一
  • Mamba: Linear-Time Sequence Modeling with Selective State Spaces(论文笔记)
  • 2024蓝桥杯每日一题(区间DP)
  • LeetCode-2952. 需要添加的硬币的最小数量【贪心 数组 排序】
  • 新书速递——《可解释AI实战(PyTorch版)》
  • 国产数据库中统计信息自动更新机制