65 lines
2.1 KiB
Python
65 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)
|
|||
|
writer.writerow(
|
|||
|
["序号", "冲突账号"])
|
|||
|
weixin_code_list = []
|
|||
|
csv_code_list = []
|
|||
|
with open(path, encoding='utf-8') as csvfile:
|
|||
|
reader = csv.reader(csvfile)
|
|||
|
for r in reader:
|
|||
|
if r[1] != '单位全称':
|
|||
|
if '微信' in r[7]:
|
|||
|
print(r)
|
|||
|
csv_code_list.append(r[4])
|
|||
|
with psycopg2.connect(G2) as connection:
|
|||
|
with connection.cursor() as cursor:
|
|||
|
try:
|
|||
|
cursor.execute(
|
|||
|
"select * from dashboard_weixin")
|
|||
|
connection.commit()
|
|||
|
for c in cursor:
|
|||
|
weixin_code_list.append(c[1])
|
|||
|
except Exception as e:
|
|||
|
print(e)
|
|||
|
print(len(weixin_code_list),len(csv_code_list))
|
|||
|
if len(weixin_code_list) <= len(csv_code_list):
|
|||
|
for c in csv_code_list:
|
|||
|
if c in weixin_code_list:
|
|||
|
print(c)
|
|||
|
else:
|
|||
|
writer.writerow(
|
|||
|
[r[0], r[4],c,'c'])
|
|||
|
else:
|
|||
|
for w in weixin_code_list:
|
|||
|
if w in csv_code_list:
|
|||
|
print(w)
|
|||
|
else:
|
|||
|
writer.writerow(
|
|||
|
[w,'w'])
|
|||
|
if __name__ == '__main__':
|
|||
|
get_csv_weixin('D:/2020/新媒体监测/TASK_ALL.csv')
|