科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件 任何学习都要使用从实践中来,Python和PostgreSQL!

任何学习都要使用从实践中来,Python和PostgreSQL!

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

一直想做个Python连接PostgreSQL数据库的Manager,做个开源的项目来增进对这两个产品的学习。把代码贴出来,使用Python连接PostgreSQL数据库的第二篇:

作者:genedna 来源:CSDN 2008年5月28日

关键字: 实践 PostgreSQL python 软件

  • 评论
  • 分享微博
  • 分享邮件
 

一直都想好好的学习Python,但是一直都没有如愿。这两天要做个小程序,就想到使用Python来处理,结果这几天的进步比以往总和都要大。学习语言还是要从实践中来做了。一直想做个Python连接PostgreSQL数据库的Manager,做个开源的项目来增进对这两个产品的学习。把代码贴出来,使用Python连接PostgreSQL数据库的第二篇:

from mx.DateTime import *
import pg
import random

def insertdb(id, initNum):
  nrange = range(initNum - 15, initNum +20)
  marchbegin = Date(2005, 3, 1)
  marchend = Date(2005, 4, 1)
  i = 10
  insertstrlist = []
  while True:
    intever = marchbegin + RelativeDateTime(day=1,hour=0,minute=i,second=0)
    n = random.choice(nrange)
    sql = "INSERT INTO srdata (\"srid\", \"srdtime\", \"srdcount\", \"srdstat\") VALUES ('" + str(id) + "', '" + str(intever) + "', '" + str(n) + "', '" + str(initNum) +"')"
    insertstrlist.append(sql)
    if marchend == intever :
      break
    i = i + 10
  return insertstrlist
 
region50list = {'1':1120, '2':1222, '3': 1103, '4': 902}
region64list = {'5':1000, '6':1200, '7': 973, '8': 823}
region73list = {'9':1020, '10':1287, '11': 1122, '12': 1244}

db = pg.connect(dbname = 'stat', host = '192.168.0.2', user = 'bbs', passwd = '2037423')
for region in db.query("SELECT * FROM sregions").dictresult():
  if (region["srid"] < 5):
    num = region50list[str(region["srid"])]
    sql50 = insertdb(region["srid"], num)
    for i in sql50:
      db.query(i)
      print "Insert OK : " + i
   
  if (region["srid"] > 5 and region["srid"] < 9):
    num = region64list[str(region["srid"])]
    sql64 = insertdb(region["srid"], num)
    for i in sql64:
      db.query(i)
      print "Insert OK : " + i
   
  if (region["srid"] > 8 and region["srid"] < 13):
    num = region73list[str(region["srid"])]
    sql70 = insertdb(region["srid"], num)
    for i in sql70:
      db.query(i)
      print "Insert OK : " + i

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章