python制造虚拟姓名电话保存到mysql数据库

2024-04-09 18:12

本文主要是介绍python制造虚拟姓名电话保存到mysql数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#启动命令:1、python test.py
import os
# 开始-需要安装的模块列表
#需要安装的库
libs = ["requests","mysql-connector-python"]
#循环遍历安装
for lib in libs:os.system("pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  " + lib)# import
import mysql.connector
import random#生产名字和电话
def random_name():# 删减部分,比较大众化姓氏firstName = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻水云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳鲍史唐费岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅卞齐康伍余元卜顾孟平" \"黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计成戴宋茅庞熊纪舒屈项祝董粱杜阮席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田胡凌霍万柯卢莫房缪干解应宗丁宣邓郁单杭洪包诸左石崔吉" \"龚程邢滑裴陆荣翁荀羊甄家封芮储靳邴松井富乌焦巴弓牧隗山谷车侯伊宁仇祖武符刘景詹束龙叶幸司韶黎乔苍双闻莘劳逄姬冉宰桂牛寿通边燕冀尚农温庄晏瞿茹习鱼容向古戈终居衡步都耿满弘国文东殴沃曾关红游盖益桓公晋楚闫"# 百家姓中双姓氏firstName2 = "万俟司马上官欧阳夏侯诸葛闻人东方赫连皇甫尉迟公羊澹台公冶宗政濮阳淳于单于太叔申屠公孙仲孙轩辕令狐钟离宇文长孙慕容鲜于闾丘司徒司空亓官司寇仉督子颛孙端木巫马公西漆雕乐正壤驷公良拓跋夹谷宰父谷梁段干百里东郭南门呼延羊舌微生梁丘左丘东门西门南宫南宫"# 女孩名字girl = '秀娟英华慧巧美娜静淑惠珠翠雅芝玉萍红娥玲芬芳燕彩春菊兰凤洁梅琳素云莲真环雪荣爱妹霞香月莺媛艳瑞凡佳嘉琼勤珍贞莉桂娣叶璧璐娅琦晶妍茜秋珊莎锦黛青倩婷姣婉娴瑾颖露瑶怡婵雁蓓纨仪荷丹蓉眉君琴蕊薇菁梦岚苑婕馨瑗琰韵融园艺咏卿聪澜纯毓悦昭冰爽琬茗羽希宁欣飘育滢馥筠柔竹霭凝晓欢霄枫芸菲寒伊亚宜可姬舒影荔枝思丽'# 男孩名字boy = '伟刚勇毅俊峰强军平保东文辉力明永健世广志义兴良海山仁波宁贵福生龙元全国胜学祥才发武新利清飞彬富顺信子杰涛昌成康星光天达安岩中茂进林有坚和彪博诚先敬震振壮会思群豪心邦承乐绍功松善厚庆磊民友裕河哲江超浩亮政谦亨奇固之轮翰朗伯宏言若鸣朋斌梁栋维启克伦翔旭鹏泽晨辰士以建家致树炎德行时泰盛雄琛钧冠策腾楠榕风航弘'# 名name = '中笑贝凯歌易仁器义礼智信友上都卡被好无九加电金马钰玉忠孝'# 10%的机遇生成双数姓氏if random.choice(range(100)) > 10:firstName_name = firstName[random.choice(range(len(firstName)))]else:i = random.choice(range(len(firstName2)))firstName_name = firstName2[i:i + 2]sex = random.choice(range(2))name_1 = ""# 生成并返回一个名字if sex > 0:girl_name = girl[random.choice(range(len(girl)))]if random.choice(range(2)) > 0:name_1 = name[random.choice(range(len(name)))]return firstName_name + name_1 + girl_nameelse:boy_name = boy[random.choice(range(len(boy)))]if random.choice(range(2)) > 0:name_1 = name[random.choice(range(len(name)))]return firstName_name + name_1 + boy_namedef create_sfz():# 第二位数字second = [3, 4, 5, 7, 8][random.randint(0, 4)]# 第三位数字third = {3: random.randint(0, 9),4: [5, 7, 9][random.randint(0, 2)],5: [i for i in range(10) if i != 4][random.randint(0, 8)],7: [i for i in range(10) if i not in [4, 9]][random.randint(0, 7)],8: random.randint(0, 9),}[second]# 最后八位数字suffix = random.randint(9999999,100000000)suffix7 = random.randint(999999, 10000000)# 拼接手机号return "1{}{}{}{}".format(second, third, suffix,suffix7)def create_phone():# 第二位数字second = [3, 4, 5, 7, 8][random.randint(0, 4)]# 第三位数字third = {3: random.randint(0, 9),4: [5, 7, 9][random.randint(0, 2)],5: [i for i in range(10) if i != 4][random.randint(0, 8)],7: [i for i in range(10) if i not in [4, 9]][random.randint(0, 7)],8: random.randint(0, 9),}[second]# 最后八位数字suffix = random.randint(9999999,100000000)# 拼接手机号return "1{}{}{}".format(second, third, suffix)   #创建多个姓名、身份证号、与电话号码
# def create_nameAndIdCardAndPhoneNumber(length):
#     person_info_list = list()
#     for _ in range(length):
#         name = random_name()
#         id_card = create_sfz()
#         phone = create_phone()
#         person_info_list.append((name, id_card, phone))
#     return person_info_list# # 创建10个人的姓名、身份证号和电话号码
# persons = create_nameAndIdCardAndPhoneNumber(10)# # 打印个人信息
# for name, id_card, phone in persons:
#     print(f"name: {name}, idCard: {id_card}, phoneNumber: {phone}")#  开始----正式脚本
#1. 创建数据库连接
db = mysql.connector.connect(host="xxxx",  # MySQL服务器地址user="xxx",   # 用户名password="xxxx",  # 密码database="xxxxx"  # 数据库名称
)try:# 开启事务db.start_transaction() # 创建游标对象,用于执行SQL查询cursor = db.cursor()# 查询所有记录cursor.execute("SELECT id,grid_code,grid_name,head,head_phone FROM forestry_management.grid_data_management")# 获取查询结果results = cursor.fetchall()resultsLength = len(results)for row in results:id,grid_code,grid_name,head,head_phone = rowprint(f"id:{id},grid_code:{grid_code},grid_name:{grid_name},head:{head},head_phone:{head_phone}")name = random_name()id_card = create_sfz()phone = create_phone()sql = "update grid_data_management set head='%s',head_phone='%s' where id='%s'" % (name,phone,id)# 执行SQL语句cursor.execute(sql)print("Update data list,The number of results is %s" % (resultsLength));db.commit()  # 提交事务
except Exception as e:db.rollback()  # 事务回滚,撤销之前的操作print("Transaction rolled back:", e)
finally:# 关闭游标和数据库连接cursor.close() db.close()     print('end :completion of enforcement')

这篇关于python制造虚拟姓名电话保存到mysql数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/888875

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3