# 更新新媒体脚本,结果为有出入的新媒体列表。 ''' 1,将excel转为csv,使用utf-8编码集。 2、获取csv内容 3、与数据库中的数据逐项对比 ''' import csv import re import uuid import psycopg2 as psycopg2 # code = None # alias = None # attention = None # remark = None # identificationcode = None # function = None # articleurl = None # weixinid = None # type = None G2 = 'host=210.77.68.250 port=5432 dbname=newmediaDB3 user=newmedia password=newmedia2020!@#' def set_csv_weixin(path): with open(path, encoding='utf-8') as csvfile: reader = csv.reader(csvfile) for r in reader: if r[1] == '删除': with psycopg2.connect(G2) as connection: with connection.cursor() as cursor: cursor.execute( "delete from dashboard_weixin where code = '%s'" %(re.sub('\s+', '', r[0]).strip())) connection.commit() elif r[1] == '新增': # s = str(r[2]).split('[')[1].split(']')[0].replace("'","").split(',') with open('D:/2020/新媒体监测/TASK_ALL.csv',encoding='utf-8') as c: t = csv.reader(c) for i in t: # print(i[4],r[0]) if re.sub('\s+', '', r[0]).strip() == re.sub('\s+', '', i[4]).strip(): with psycopg2.connect(G2) as connection: with connection.cursor() as cursor: try: cursor.execute( "select * from dashboard_organization where name = '%s'" % ( re.sub('\s+', '', i[1]).strip())) connection.commit() for c in cursor: # print(c[0] + "22222222222222222222222222222222222") id = uuid.uuid4() cursor.execute( "insert into dashboard_weixin(id,code, created, updated,organization_id,image,alias,status,weixinid,attention, remark,identificationcode,function,articleurl) values (%s,%s,now(),now(),%s,'weixin.png','',3,%s,'','',%s,%s,%s)", (str(id), re.sub('\s+', '', i[4]).strip(), c[0], i[13], i[3], i[8], i[12])) connection.commit() except Exception as e: print(i[1]+"+++++++++++++++++++++++++++++++++++++++++++++++") with open('D:/2020/新媒体监测/单位对不上.csv', "w", newline='',encoding='utf-8') as f: writer = csv.writer(f) writer.writerow( i[1]) if __name__ == '__main__': set_csv_weixin('D:/2020/新媒体监测/新媒体对比结果_微信_账号名称更改.csv')