1. 程式人生 > >修改資料庫欄位、增加欄位

修改資料庫欄位、增加欄位

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()