###前提・実現したいこと
Pythonで書いたコードの実行時にデータベースから情報を引っ張ってくる実装をしようとしています。
###発生している問題・エラーメッセージ
Traceback (most recent call last): File "", line 9, in <module> for row in c.execute("select * from 'master_data' where jan == '4901306047569' limit 1"): sqlite3.OperationalError: no such table: master_data
このエラーを受けて、テーブルを確認しようとしているのですが、sqlite3ファイルを開く方法がわかりません。
###該当のソースコード
Python
1# -*- coding: utf-8 -*- 2 3import sqlite3 4 5#dbname = 'master_data.db' 6dbname = 'master_data.db' 7c = sqlite3.connect(dbname).cursor() 8 9for row in c.execute("select * from 'master_data' where jan == '4901306047569' limit 1"): 10 print (row[0]) 11 print (row[1].encode('utf-8')) 12 print (row[3]) 13 with open('result_from_python.jpg', 'wb') as f: 14 f.write(row[2])
###試したこと
for row in c.execute("select name from sqlite_master where type='table'"): print(row)
を加えて書き直した以下のコードを実行したところ、ターミナルで「$」がすぐ下の行に出るだけでした。
Python
1# -*- coding: utf-8 -*- 2 3import sqlite3 4 5#dbname = 'master_data.db' 6dbname = 'master_data.db' 7c = sqlite3.connect(dbname).cursor() 8 9for row in c.execute("select name from sqlite_master where type='table'"): 10 print(row) 11 12#for row in c.execute("select * from 'master_data' where jan == '4901306047569'' limit 1"): 13 #print (row[0]) 14 #print (row[1].encode('utf-8')) 15 #print (row[3]) 16 #with open('result_from_python.jpg', 'wb') as f: 17 #f.write(row[2])
#for row in c.execute("select * from 'master_data' where jan == '4901306047569'' limit 1"): #print (row[0]) #print (row[1].encode('utf-8')) #print (row[3]) #with open('result_from_python.jpg', 'wb') as f: #f.write(row[2])
の部分をコメントアウトしない場合は、同じエラーメッセージが表示されました。
###補足情報(言語/FW/ツール等のバージョンなど)
Python 3.6.0 :: Anaconda 4.3.0
Mac ターミナル使用
回答1件
あなたの回答
tips
プレビュー