修改数据库字段、增加字段

import csv
import psycopg2
class IO_rw(object):

def __init__(self):
self.csvfile = open("test_scouce.csv", "w")
self.writer = csv.writer(self.csvfile)

self.conn = psycopg2.connect(database="postgres", user="postgres", password="123456", host="127.0.0.1", port="5432")
self.cur = self.conn.cursor()

def process_item(self):

self.cur.execute("select * from bjzs_big_data.temp_10")
dict = {"法制日报": 4298971540840700, '锋潮科技': 4298973378181960, '老徐时评': 4298982337445850, '梨视频': 4298989430127350,
'成都这点事': 4298989816221760, '环球时报': 4298996928897630, '头条新闻': 4298997394909240,
'新京报我们视频': 4298998359639300,
'环球网': 4299001912862650, '新京报': 4299003476719300, '成都文理学院': 4299009805606120, '北京青年报': 4299011664045870,
'时间视频': 4299022045365990, '凯雷': 4299063618905250, '澎湃新闻': 4299075702378440, '凤凰网视频': 4299080815406930,
'蓝鲸财经记者工作平台': 4299082115420280, '界面': 4299439852536950}
rows = self.cur.fetchall()
for row in rows:
row = list(row) #数据库查到的数据是typle 类型,不可以修改。所以转成list类型, 然后把第一个元素拿到以后, 进行修改, 再放到csv里面去
row[0] = row[0].split('的微博_')[0]
print(row)
for key in dict.keys():
if row[-2] == key:
new_id = dict[key]
print("******************",new_id,row[0],row[2])
self.cur.execute("UPDATE bjzs_big_data.temp_10 set id = %s, name_1 = %s where url = %s", (new_id,row[0],row[2]))
self.conn.commit()
self.cur.close()
def close_spider(self):
self.conn.close()
self.csvfile.close()
if __name__ == '__main__':


r = IO_rw()
r.process_item()
r.close_spider()

猜你喜欢

转载自www.cnblogs.com/yuanjia8888/p/10106630.html