python连接postgres 分词和更新数据库操作

直接看代码:

import psycopg2
import pandas as pd
import jieba
import numpy as np
import xlwt
def fenci (text):
    seg_list = jieba.cut(text)
    return "|".join(seg_list)
conn = psycopg2.connect(database="", user="postgres",
                        password="", host="127.0.0.1", port="")
cur = conn.cursor()
sqlcom="select  sid, content,sentence_num,sentence,createdate,channel from tmp4 where sentence != '' limit 1000"
df = pd.read_sql(sqlcom, con=conn)
df1 = np.array(df) #先使用array()将DataFrame转换一下
df2 = df1.tolist()#再将转换后的数据用tolist()转成列表
sumsql=''
for i in range(0,len(df2)):
    if i% 100 == 0:
        print(i)
    sentence =  df2[i][3]
    sentence = sentence.replace(':','')
    fenci1 = fenci(sentence)
    print(fenci1)
    fenci1 = fenci1.replace('"', '')
    fenci1 = fenci1.replace("'",'')
    sql = "update tmp4 set fenci = '{}' where sid = '{}'".format(fenci1,df2[i][0])
    sumsql = sumsql + ';' +sql
cur.execute(sumsql)
conn.commit()
cur.close()
conn.close()

 

posted @ 2020-08-20 09:37  fazzer  阅读(424)  评论(1)    收藏  举报