Пытаюсь извлечь данные с помощью скребка json и вставить их в базу данных sqlite, однако я ничего не получаю

#sql #json #python-3.x #database #web-scraping

Вопрос:

 import requests
import certifi 
import json
import sqlite3

conn = sqlite3.connect('covidallocationsdb.sqlite')
cur = conn.cursor()
 

Мне удалось успешно создать таблицы с нужным форматом, в другой версии я удалил строку идентификатора, все еще вызывая у меня ту же проблему.

 cur.executescript('''
DROP TABLE IF EXISTS Jurisdictions;
DROP TABLE IF EXISTS Allocations;
DROP TABLE IF EXISTS Dose;
DROP TABLE IF EXISTS Complete;

CREATE TABLE Jurisdictions (
    id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
    state TEXT UNIQUE
);

CREATE TABLE Allocations (
    id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
    week TEXT UNIQUE
);

CREATE TABLE Dose (
    id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
    amount TEXT UNIQUE
);

CREATE TABLE Complete (
    id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
    state TEXT UNIQUE,
    week TEXT UNIQUE,
    amount TEXT UNIQUE
)
''')


url = 'https://data.cdc.gov/api/views/w9zu-fywh/rows.json'
r = requests.get(url)
content = json.loads(r.text)

for v in content['data']:
    juri = v[8];
    woa = v[9];
    firdos = v[10];

    print((juri, woa, firdos))
 

Я могу извлечь данные из файла json, но не могу добавить их в базу данных.

     cur.execute('''INSERT OR IGNORE INTO Jurisdictions (state)
            VALUES ( ? )''', ( juri, ) )
    cur.execute('''INSERT OR IGNORE INTO Allocations (week)
            VALUES ( ? )''', ( woa, ) )
    cur.execute('''INSERT OR IGNORE INTO Dose (amount)
            VALUES ( ? )''', ( firdos, ) )
    cur.execute('''INSERT OR IGNORE INTO Complete (state, week, amount)
            VALUES ( ?, ?, ? )''', ( juri, woa, firdos ) )

conn.commit
print(cur.fetchall())
 

Какую ошибку я совершаю, которая не позволяет мне вставлять данные в sqlite, является ли это вставкой или ограничениями, которые я поместил в значения. Я застрял на довольно долгое время, и это абсолютно расстраивает.