2017-07-29 7 views
0

私は初心者です。私はいくつかの検索を行ったが、この問題に対する答えを見つけることはできないようだ。私はSqlite3とPython 3で動的なデータエントリを実行しようとしていますが、エラーが発生しています。
test1.dbファイルを作成する必要がありますが、空白です。Sqlite3で遭遇するエラー:OperationalError:そのようなテーブルがありません

エラー:

Traceback (most recent call last): 
File "/home/dominic/Documents/Database_Tutorial.py", line 35, in <module> 
dynamic_data_entry() 
File "/home/dominic/Documents/Database_Tutorial.py", line 29, in dynamic_data_entry 
(unix, date, keyword, value)) 
sqlite3.OperationalError: no such table: stuffToPlot 

Database_Tutorial.py

import sqlite3 
import time 
import datetime 
import random 

conn = sqlite3.connect('test1.db') 
c = conn.cursor() 


def create_table(): 
    c.execute("CREATE TABLE IF NOT EXISTS stuffToPlot(unix REAL, datestamp TEXT, keyword TEXT, value REAL)") 


def data_entry(): 
    c.execute("INSERT INTO stuffToPlot VALUES(1452549219,'2016-01-11 13:53:39','Python',6)") 

    conn.commit() 
    c.close() 
    conn.close() 


def dynamic_data_entry(): 
    unix = int(time.time()) 
    date = str(datetime.datetime.fromtimestamp(unix).strftime('%Y-%m-%d %H:%M:%S')) 
    keyword = 'Python' 
    value = random.randrange(0, 10) 

    c.execute("INSERT INTO stuffToPlot (unix, datestamp, keyword, value) VALUES (?, ?, ?, ?)", 
      (unix, date, keyword, value)) 

    conn.commit() 


for i in range(10): 
    dynamic_data_entry() 
    time.sleep(1) 

c.close 
conn.close() 

助けてください。

答えて

0

データ入力を行う前にcreate_table()を呼び出す必要があります。

関連する問題