[Python小工具]Python批量生成数据到MySQL
base.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
import time
import random
from datetime import datetime, timedelta
from faker import Faker
import string
fake = Faker('zh_CN')
class Base_conn:
# 数据库连接配置初始化
def __init__(self, DB_HOST, DB_USER, DB_PASSWORD, DB_NAME):
self.DB_HOST = DB_HOST
self.DB_USER = DB_USER
self.DB_PASSWORD = DB_PASSWORD
self.DB_NAME = DB_NAME
class TimeShift:
def starttime(self):
self.start_time = time.time()
return self.start_time
def endtime(self):
self.end_time = time.time()
return self.end_time
def executiontime(self):
self.execution_time = self.end_time - self.start_time
return self.execution_time
def timeshift(self, execution_time):
if execution_time < 60:
return f"{
int(execution_time)}秒"
elif execution_time >= 60 or execution_time <= 3600:
return f"{
execution_time / 60:.1f}分钟"
else:
return f"{
int(execution_time / 60 / 60):.1f}小时"
class Table_Employee:
# 生成身份证信息的模拟函数,可根据实际情况调整
def generate_id_card(self):
# region_code = "420100" # 地区编码
region_code = "{:.6f}".format(random.random()).split('.')[1] # 地区编码
birth_date = datetime.strptime("19900101", "%Y%m%d") + timedelta(days=random.randint(0, 365 * 50)) # 出生日期
seq_code = str(random.randint(100, 999)) # 序列码
gender_code = str(random.randint(0, 9)) # 性别码
check_code = str(random.randint(0, 9)) # 校验码(这里仅用于示例)
id_card = f"{
region_code}{
birth_date.strftime('%Y%m%d')}{
seq_code}{
gender_code}