Pythonによるスクレイピング・機械学習&開発テクニックから。
sqlite3にデータを挿入するところまで。
import sqlite3 dbpath = 'test.sqlite' conn = sqlite3.connect(dbpath) cur = conn.cursor() cur.executescript(""" /* items 手0ブルがすでにあれば削除する*/ DROP TABLE IF EXISTS items; /* テーブルの作成*/ CREATE TABLE items(item_id INTEGER PRIMARY KEY, name TEXT UNIQUE, price INTEGER); /* データを挿入*/ INSERT INTO items(name,price) VALUES ("Apple",800); INSERT INTO items(name,price) VALUES ("Orange",780); INSERT INTO items(name,price) VALUES ("Banana",430); """) #上記の操作をデータベースに反応させる conn.commit() #データを抽出sる cur = conn.cursor() cur.execute("SELECT name FROM items") item_list = cur.fetchall() print("item_list:",item_list) #配列を返す #1行ずつ表示 for it in item_list: print(it)
sqlite3に次は複数挿入できるまでのコード
""" * sqlite3に複数の項目を追加する * slqでWHERE条件で引き出す """ import sqlite3 #データベースに接続 filepath = "test2.sqlite" conn = sqlite3.connect(filepath) #手0ブルを作成 cur = conn.cursor() cur.execute("DROP TABLE IF EXISTS items") cur.execute(""" CREATE TABLE items ( item_id INTEGER PRIMARY KEY, name TEXT, price INTEGER)""") conn.commit() #単発でデータを挿入 cur = conn.cursor() cur.execute( "INSERT INTO items (name, price) VALUES (?,?)", ("Orange", 520)) conn.commit(); #連続でデータを挿入 cur = conn.cursor() data = [("Mango",770),("Kiwi",400),("Grape",800)] cur.executemany( "INSERT INTO items(name,price) VALUES (?,?)",data ) conn.commit() # 400-700円のデータを抽出して表示 cur = conn.cursor() price_range = (400,700) cur.execute( "SELECT * FROM items WHERE price >=? AND price<=?",price_range ) fr_list = cur.fetchall() for fr in fr_list: print(fr)