61 lines
2.1 KiB
Python
61 lines
2.1 KiB
Python
# 更新新媒体脚本,结果为有出入的新媒体列表。
|
||
'''
|
||
1,将excel转为csv,使用utf-8编码集。
|
||
2、获取csv内容
|
||
3、与数据库中的数据逐项对比
|
||
'''
|
||
import csv
|
||
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 get_csv_weixin(path):
|
||
with open("D:/2020/舆论监测平台/数据/数据库更新/新媒体对比结果_其他_账号名称更改.csv", "w", newline='',encoding='utf-8') as csvfile:
|
||
writer = csv.writer(csvfile)
|
||
qita_code_list = []
|
||
csv_code_list = []
|
||
r = None
|
||
with open(path, encoding='utf-8') as csvfile:
|
||
reader = csv.reader(csvfile)
|
||
for r in reader:
|
||
if r[1] != '单位全称':
|
||
if '微信' not in r[7] and '微博' not in r[7] and '头条' not in r[7] and '抖音' not in r[7]:
|
||
csv_code_list.append(r[4]+r[7])
|
||
with psycopg2.connect(G2) as connection:
|
||
with connection.cursor() as cursor:
|
||
try:
|
||
cursor.execute(
|
||
"select * from dashboard_qita")
|
||
connection.commit()
|
||
for c in cursor:
|
||
qita_code_list.append(c[1]+c[9])
|
||
except Exception as e:
|
||
print(e)
|
||
print(len(qita_code_list),len(csv_code_list))
|
||
|
||
print( len(list(set( qita_code_list ) ^ set( csv_code_list ))))
|
||
for i in list(set( qita_code_list ) ^ set( csv_code_list )):
|
||
if i in qita_code_list and i not in csv_code_list:
|
||
writer.writerow(
|
||
[i,'删除'])
|
||
elif i in csv_code_list and i not in qita_code_list:
|
||
writer.writerow(
|
||
[i, '新增'])
|
||
else:
|
||
writer.writerow(
|
||
[i, '异常'])
|
||
if __name__ == '__main__':
|
||
get_csv_weixin('D:/2020/舆论监测平台/数据/Task_All.csv')
|