У меня есть таблица Postgres в pgadmin4, в которой 2 столбца. ID (большой серийный номер, не ноль) и json (json). Я продолжаю получать значение null в моем столбце json при попытке вставить из него свои данные json, которые я получил, выполнив запрос на получение. В настройках столбца для json я не выбрал «not null».
Я все еще учусь; мой код может быть немного запутанным.
import os
import requests
import psycopg2
import json
def get_request():
token = os.environ['TOKEN']
url = os.environ['URL']
payload = {}
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer ' + token
}
response = requests.request('GET', url, headers=headers, data=payload)
result = (response.text.encode('utf8'))
parsed = json.loads(result)
print(parsed)
print(type(parsed))
def db_connection(parsed):
con = psycopg2.connect(
host=os.environ['HOST'],
dbname=os.environ['DBNAME'],
user=os.environ['USER'],
password=os.environ['PASSWORD'],
port=os.environ['PORT'])
print("CONNECTED")
cur = con.cursor()
cur.execute("INSERT INTO ingest.occupations_group (json) VALUES (%s)", (parsed,))
con.commit()
cur.close()
con.close()
get_request()
db_connection(get_request())
И когда я запускаю код по какой-то причине, он отображает результаты дважды. Я не включил все результаты api, так как они очень длинные.
{'@odata.context': 'https://apis.burning-glass.com/v3.5/ontology/$metadata#occupationgroups', 'value': [{'id': 2, 'ontologyIRI':
<class 'dict'>
{'@odata.context': 'https://apis.burning-glass.com/v3.5/ontology/$metadata#occupationgroups', 'value': [{'id': 2, 'ontologyIRI':
<class 'dict'>
CONNECTED
Process finished with exit code 0