Python でのデータベースの使用に関する研究をさらに進めて、Bryan Moyles の優れた例に基づいて次のコードを作成しました。
from os import system as cmd
from time import sleep as sleep
try:
from sqlite3 import dbapi2 as sqlite
except ImportError:
from pysqlite2 import dbapi2 as sqlite
class search_db:
def __init__(self, db, name):
self.db = db_connection
self.name = name
self.dbc = self.db.cursor()
def __getitem__(self, item):
self.dbc.execute("select * from %s limit %s, 1" % (self.name, item))
return self.dbc.fetchone()
def search():
customer_id = []
customer_ids = search_db(db_connection, "customers")
for i in range(10000):
if not "None" in str(customer_ids[i]): customer_id.append(customer_ids[i])
return customer_id
## init ##
db_name = 'customers'
db_connection = sqlite.connect('program.db')
db_curs = db_connection.cursor()
search()
確かに、それは素晴らしいことではありません。おそらくもう少し最適化できることはわかっています。ご覧のとおり、私はデータベースを検索する方法を理解しようと懸命に努力してきました。エントリ番号を引き出すデータベース内の情報を含むエントリを取得することができました。if ループを使用して、追加されたリストの値から「GGS-番号」エントリを検索し、正規表現を使用して行番号を抽出し、GGS 番号が適用される顧客に関連する情報を出力することを考えていました。どうすればこれをより良い方法で行うことができるか、誰かがアイデアを持っていますか? また、for i in range(10000) がありますが、より最適化された形式はありますか?