Добавить список в Oracle SQL и построить граф
Мне нужно построить граф знакомств с помощью бд Oracle SQL. Как мне добавить общих друзей(common_friends) в таблицу функцией add_to_table, чтобы в дальнейшем построить граф с помощью библиотеки networkx?
import requests
import cx_Oracle
token = ''
version = 5.124
user_id = ''
source_uid = ''
def Friends():
ids = []
response = requests.get('https://api.vk.com/method/friends.get',
params={
'access_token': token,
'v': version,
'user_id': user_id,
})
data = response.json()['response']['items']
ids.extend(data)
friends = (', '.join(map(str, data)))
return friends
def Mutual():
target_uids = Friends()
response = requests.get('https://api.vk.com/method/friends.getMutual',
params={
'access_token': token,
'v': version,
'source_uid': source_uid,
'target_uids': target_uids
})
data = response.json()['response']
return data
def add_to_table(Mutual):
conn = cx_Oracle.connect(user='C##STUD1721', password='123', dsn=dsn_tns)
cur = conn.cursor()
for dic in Mutual:
named_params = {'1': dic.get('id'), '2':dic.get('common_friends')}
cur.execute("INSERT INTO Mutual (ID, common) VALUES (:1,:2)", named_params)
cur.close()
conn.commit()
conn.close()
def create_table():
conn = cx_Oracle.connect(user='C##STUD1721', password='123', dsn=dsn_tns)
cur = conn.cursor()
cur.execute("""CREATE TABLE Mutual
(ID NUMBER(20) NOT NULL,
common VARCHAR2(30 CHAR))""")
cur.close()
conn.commit()
conn.close()
def drop_table():
conn = cx_Oracle.connect(user='C##STUD1721', password='123', dsn=dsn_tns)
cur = conn.cursor()
try:
cur.execute("DROP TABLE Mutual")
except:
return 0
cur.close()
conn.commit()
conn.close()
cx_Oracle.init_oracle_client(lib_dir= "D:\instantclient_19_10")
dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='orcl')
drop_table()
create_table()
add_to_table(Mutual())