0
学習目的でデータソースを再生しようとしています。私はパブリックデータソースからデータを取り出し、それを小さなsqlite DBに配信しようとしています。PythonでJSONを使用する方法
私は、このJSON構造を有する:
[
{
"name": "Aachen",
"id": 1,
"nametype": "Valid",
"recclass": "L5",
"mass (g)": 21,
"fall": "Fell",
"year": "01/01/1880 12:00:00 AM",
"reclat": 50.775,
"reclong": 6.08333,
"GeoLocation": "(50.775, 6.08333)"
},
{
"name": "Aarhus",
"id": 2,
"nametype": "Valid",
"recclass": "H6",
"mass (g)": 720,
"fall": "Fell",
"year": "01/01/1951 12:00:00 AM",
"reclat": 56.18333,
"reclong": 10.23333,
"GeoLocation": "(56.18333, 10.23333)"
},]
これまでのところ、私は以下のコードで動作するように管理しますが、どのように私は、正しくデータを読みますか。
この部分のdoesntの仕事:
name = entry[0];
id = entry[1];
ここでは、私が使用したコードの一部です:
import json
import sqlite3
conn = sqlite3.connect('rosterdb.sqlite')
cur = conn.cursor()
# Do some setup
cur.executescript('''
DROP TABLE IF EXISTS User;
DROP TABLE IF EXISTS Member;
DROP TABLE IF EXISTS Course;
CREATE TABLE User (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
name TEXT UNIQUE
);
CREATE TABLE Course (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
title TEXT UNIQUE
);
CREATE TABLE Member (
user_id INTEGER,
course_id INTEGER,
role INTEGER,
PRIMARY KEY (user_id, course_id)
)
''')
fname = raw_input('Enter file name: ')
if (len(fname) < 1) : fname = 'meteorite.json'
str_data = open(fname).read()
json_data = json.loads(str_data)
for entry in json_data:
name = entry[0];
id = entry[1];
print name, id
はい、のようにする必要があります。ありがとう – troy