日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

python psycopg2_python2.7 psycopg2

發(fā)布時(shí)間:2023/12/19 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python psycopg2_python2.7 psycopg2 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

psycopg2 安裝

sql='''INSERT INTO "CNYB"."PRE_DQ_PLANT"("ID", "ORG_ID", "RT_ORG_ID", "DATE", "DTIME", "CTIME", "INDEX", "MARK", "FNAME", "P_PR", "P_PTR")

VALUES (%(ID)s, %(ORG_ID)s, %(RT_ORG_ID)s, %(DATE)s, %(DTIME)s, %(CTIME)s, %(INDEX)s, %(MARK)s, %(FNAME)s, %(P_PR)s,%(P_PTR)s);'''

util.inserDataToDB(dbcnyb,sql,ret)

sql='''INSERT INTO "CNYB"."PRE_DQ_PLANT"("ID", "ORG_ID", "RT_ORG_ID", "DATE", "DTIME", "CTIME", "INDEX", "MARK", "FNAME", "P_PR", "P_PTR")

VALUES ('%(ID)s', '%(ORG_ID)s', '%(RT_ORG_ID)s', '%(DATE)s', '%(DTIME)s', '%(CTIME)s', '%(INDEX)s', '%(MARK)s', '%(FNAME)s', '%(P_PR)s','%(P_PTR)s');'''

retlist=[]

for rd in ret:

new_sql=sql%rd

retlist.append(new_sql)

newsql=';'.join(retlist)

util.inserDataToDB2(dbcnyb,newsql)

def inserDataToDB(cnyb,sql,rows):

try:

stime=datetime.datetime.now()

with cnyb.cursor() as cur:

cur.executemany(sql, rows)

cnyb.commit()

LOG.debug("insert over")

etime=datetime.datetime.now()

gap=(stime-etime).seconds

LOG.debug('gap=%s'%gap)

except Exception,e:

cnyb.rollback()

LOG.error("insert data fail,ex=%s"%(traceback.format_exc()))

def inserDataToDB2(cnyb,sql):

try:

stime=datetime.datetime.now()

with cnyb.cursor() as cur:

cur.execute(sql)

cnyb.commit()

LOG.debug("insert over")

etime=datetime.datetime.now()

gap=(stime-etime).seconds

LOG.debug('gap2=%s'%gap)

except Exception,e:

cnyb.rollback()

LOG.error("insert data fail,ex=%s"%(traceback.format_exc()))

==================

util.inserDataToDB(dbcnyb,'"CNYB"."PRE_DQ_PLANT"',uncoverData,['ID', 'ORG_ID', 'RT_ORG_ID', 'DATE', 'DTIME', 'CTIME', 'INDEX', 'MARK', 'FNAME', 'P_PR','P_PTR'])

def inserDataToDB(cnyb,tbl,df,cols):

try:

output = BytesIO()

df.to_csv(output, sep='\t', index=False, header=False,columns=cols)

stime=time.clock()

with cnyb.cursor() as cur:

cur.copy_from(output, tbl)

cnyb.commit()

etime=time.clock()

LOG.debug("insert over,insert sends=%s"%(etime-stime))

except Exception,e:

cnyb.rollback()

LOG.error("insert data fail,ex=%s"%(traceback.format_exc()))

=============pymysql

參考:https://mp.weixin.qq.com/s/hhykKBsFMRen5D-aawO6pA

import?pymysql

db=pymysql.connect(host='localhost',user='root',password='123456',

port=3306,db='spiders',charset='?utf8')

使用pandas中的read_sql()方法,將提取到的數(shù)據(jù)直接轉(zhuǎn)化為DataFrame,進(jìn)行操作

mport pymysql

import pandasaspd

db= pymysql.connect(host='localhost',user='root',db='huangwei',

password='123456',port=3306,charset='utf8')

cursor=db.cursor()

df1= pd.read_sql("select * from student where ssex='男'",db)

display(df1)

進(jìn)行 "增"、"刪"、"改"的時(shí)候,一定要使用try…except…語(yǔ)句,因?yàn)槿f(wàn)一沒插入成功,其余代碼都無(wú)法執(zhí)行。當(dāng)語(yǔ)句執(zhí)行不成功,我們就db.rollback()回滾到操作之前的狀態(tài);當(dāng)語(yǔ)句執(zhí)行成功,我們就db.commit()提交事務(wù)

import pymysql

db=pymysql.connect(host='localhost',user='root', password='123456',

port=3306, db='huangwei', charset='utf8')

cursor=db.cursor()

# 插入一條數(shù)據(jù)

sql= 'insert into person(name,age) values(%s,%s)'

try:

cursor.execute(sql,('孫悟空',100000))

db.commit()

print("插入成功")

except:

print("插入失敗")

db.rollback()

db.close()

插入多條

sql= 'insert into person(name,age) values(%s,%s)'# 注意:(('牛魔王',9000),('鐵扇公主',8000),('玉皇大帝',6000))也可以

# 小括號(hào)都可以換為中括號(hào)

datas= [('牛魔王',9000),('鐵扇公主',8000),('玉皇大帝',6000)]try:

cursor.executemany(sql,datas)

db.commit()

print("插入成功")

except:

print("插入失敗")

db.rollback()

總結(jié)

以上是生活随笔為你收集整理的python psycopg2_python2.7 psycopg2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。