首页 > 数据库 >psycopg2用python生成一些数据插入pg数据库

psycopg2用python生成一些数据插入pg数据库

时间:2023-06-26 18:11:59浏览次数:65  
标签:班级 python psycopg2 50 remove choice elif pg class

创建学生表,用python随机生成姓名,性别,班级,省,市,生日插入数据库中

先把姓名和省市以字典方式存入单独文件

from name_dict import name  
from city_dict import city
from random import choice,randint
from datetime import date
import psycopg2 as pg

conn=pg.connect(database='school',user='jm',password='123',host='127.0.0.1',port='5432')
cur=conn.cursor()


date1=date(1975,1,1)
date2=date(1977,12,31)
days=(date2-date1).days

class_x=['1班','2班','3班','4班','5班','6班','7班','8班']
k1=k2=k3=k4=k5=k6=k7=k8=0  #每班学生不超过50人

  
for i in range(1000):

    #=====省市============
    省=choice(list(city.keys()))
    市=choice(city[省])
    if 省=='直辖市':
        省=choice(city['直辖市'])
        市=省
    if 省=='特别行政区':
        省=choice(city['特别行政区'])
        市=省
    
    #=====姓名=========
    性别=choice(['男','女'])
    if 性别=='男':
        姓名=choice(name['姓'])+choice(name['男名'])
    else:
        姓名=choice(name['姓'])+choice(name['女名'])
    
    #=====生日=========
    生日=date1+date.resolution*randint(0,days)
    
    #=====班级=========
    班级=choice(class_x)
    if 班级=='1班' :
        k1+=1
        if k1==50:
            class_x.remove('1班') 
    elif  班级=='2班' :
        k2+=1
        if k2==50:
            class_x.remove('2班')
    elif 班级=='3班' :
        k3+=1
        if k3==50:
            class_x.remove('3班')
    elif 班级=='4班' :
        k4+=1
        if k4==50:
            class_x.remove('4班')
    elif 班级=='5班' :
        k5+=1
        if k5==50:
            class_x.remove('5班')
    elif 班级=='6班' :
        k6+=1
        if k6==50:
            class_x.remove('6班')
    elif 班级=='7班' :
        k7+=1
        if k7==50:
            class_x.remove('7班')
    elif 班级=='8班' :
        k8+=1
        if k8==50:
            class_x.remove('8班')
    if len(class_x)==0:
        break

#插入数据到数据库中 cur.execute('insert into student_basic\d(姓名,性别,班级,省,市,生日) values(%s,%s,%s,%s,%s,%s)',(姓名,性别,班级,省,市,生日))
conn.commit() cur.close() conn.close() print('ok')

 

标签:班级,python,psycopg2,50,remove,choice,elif,pg,class
From: https://www.cnblogs.com/jm7612/p/17506411.html

相关文章

  • Python基础知识
    1.变量和简单数据类型1.1变量变量只能包含字母、数字、下划线,并且不能以数字开头变量名不能包含空格不要讲python关键字和函数作为变量名。变量名应简短又具有描述行被赋值的内容应该用双引号或单引号括起来1.2字符串title():将字符串首字母变为大写upper():将字符串......
  • python代码-基于深度强化学习的微能源网能量管理与优化策略研究
    python代码-基于深度强化学习的微能源网能量管理与优化策略研究关键词:微能源网;能量管理;深度强化学习;Q-learning;DQN内容::面向多种可再生能源接入的微能源网,提出一种基于深度强化学习的微能源网能量管理与优化方法。该方法使用深度Q网络(deepQnetwork,DQN)对预测负荷、风光等可......
  • python练习-爬虫(续)
    接下来就是查询数据了。#识别图片中的文字#image=Image.open('captcha.png')image=Image.open('G:\Python爬虫\captcha.png')code=pytesseract.image_to_string(image)#从用户输入获取用户名、身份证号码和验证码username='XXX'#input("请输入用户名:")id_c......
  • python函数的高阶使用
    一:*强制位置传参和/分界线强制位置参数可以使用*进行标记,*后面的参数将成为强制位置参数,它们必须按照位置传递给函数,而不能使用关键字传递。/用于标记位置参数和关键字参数之间的分界线,即/之前的参数只能通过位置传递,/之后的参数可以通过位置或关键字传递。示例1:使......
  • 标准化互信息NMI计算步骤及其Python实现
    假设对于17个样本点(v1,v2,...,v17)进行聚类:某一种算法得到聚类结果为:A=[12111112222311333]标准的聚类结果为:B=[11111122222233333]问题:需要度量算法结果与标准结果之间的相似度,如果结果越相似NMI值应接近1;如果算法结果很差......
  • Python中进行字符串拼接的常用方法!
    在Pyhon编程语言中,字符串拼接是一种十分常见的操作,通常用于将文本片段连接起来形成一段完整的字符串,然而很多人在进行字符串拼接操作时不可避免地会遇到一些错误,那么该如何解决呢?以下是详细的内容:1、使用"+"号进行字符串拼接在Python中,使用"+"号进行字符串拼接是最常......
  • 一杯咖啡的时间带你了解Python中的类
    1.定义类您可以使用class关键字在Python中定义一个类。下面是一个简单的类定义示例:classPerson:def__init__(self,name,age):self.name=nameself.age=agedefsay_hello(self):print("Hello,mynameis",self.name,"andIam",......
  • Python 实现将 Markdown 文档转换为 EPUB 电子书文件
    Python实现将Markdown文档转换为EPUB电子书文件已有转换工具要将Markdown文档转换为EPUB文件,可以使用一些工具和软件。以下是一些常见的方法:使用在线转换工具:有一些在线转换工具可以将Markdown文件转换为EPUB格式,如PandocOnline。只需要将Markdown文件上传......
  • Python如何将某文件夹下的文件名称输出到.txt文件中
    importos#os.listdir()方法获取文件夹名字,返回数组defgetAllFiles(targetDir):listFiles=os.listdir(targetDir)returnlistFilesfiles=getAllFiles(r"E:\UEtest\sla\精装\sla文件池\skp-10个")#写入list到txt文件中withopen(r"E:\UEtest\sla\精装\sla文件池\tes......
  • Python3 windows下 多环境管理
     windows下Python多环境隔离,每个项目拥有独立的依赖库,即site-packages。 ubuntu下通过 Anaconda 进行多环境操作, windows下往往直接下载安装包安装了(之前一直没去解决单个环境)现在整理下如下, 方式一(略,安装包有点大)1.官网下载Anaconda安装包下载地址:https://www......