import json
import urllib
import sqlite3
import temp
def loading():
url = 'https://jobs.github.com/positions.json?page=1' # URL for API 1-5json_obj = urllib.urlopen(url)
response = urllib.urlopen(url)
data = json.load(response) # loads the url and set it into data variable
for item in data[0].keys():
print(item)
return data # Get the keys
# def loading():
# print " LOADING API(s)"
# urllib.urlopen('https://jobs.github.com/positions.json?page=1')
# temp = json.dumps(data[1])
# print (json.dumps(data[1]))
# print (" ")
def createDB(data):
conn = sqlite3.connect('test.db')
c = conn.cursor()
# Create table
c.execute('''CREATE TABLE example
(description text, title text, url text, company_logo text, company text, id integer primary key, company_url text, how_to_apply text,
location text, type text, created_at timestamp)''')
temp_values = list(tuple())
for item in temp:
list_of_values = [v for k, v in item.items()]
tuple_of_values = tuple(list_of_values)
temp_values.append(tuple_of_values)
c.executemany('INSERT INTO table_name VALUES (?,?,?,?,?,?,?,?,?,?,?)', temp_values)
def main():
data = loading()
createDB(data)
main()
I ran the code it creates the database but nothing seems to be in it this is the error I get as well File
Traceback (most recent call last): File "/Users/issac_rodriguez/PycharmProjects/N/Sprint2/database.py", line 45, in main() File "/Users/issac_rodriguez/PycharmProjects/N/Sprint2/database.py", line 42, in main createDB(data) File "/Users/issac_rodriguez/PycharmProjects/N/Sprint2/database.py", line 32, in createDB for item in temp: TypeError: 'module' object is not iterable
for item in temp, but you probably wantfor item in temp_values. This is why you should always use meaningful names instead ofx,temp, etc. -tempis actually a meaningful name for the module (if it is the module I think it is).