ロボット【Pepper(ペッパー)】pythonボックスでSQLiteにレコードを登録する

こんばんわ〜♪

最近、昔から興味のあったAIについて勉強してみようと思い立ったのですが、全く知識がないのでどこから手をつけるべきか分からず闇雲に嗅ぎまわってます(笑)

最初に目をつけたのは、ディープラーニングだったのですが、やっぱとりあえず機械学習から一通り目を通そうと思い直したところで、面白そうな本を見つけたのでディープラーニングも機械学習も置いといて、その本を購入してみました( ´ ▽ ` )ノ

「人工知能は人間を超えるか ディープラーニングの先にあるもの」

という本なのですが、私が望む内容なのかどうかはまだ読んでないので分かりませんが、これを読み終わったら機械学習の参考書でも読み漁ってみようと思ってます♪

・・・ちょっと話が逸れ過ぎちゃったので本題に移りたいと思います。

今日は、だいぶ前のpythonボックスでSQLiteを読み込むという記事でちょこっとSQLiteとpythonをいじって以来放置してた続きというか、読み込んだらレコードの登録もできなきゃダメでしょ?って事で、DBを触った事がない方向けに?SQLiteのレコードをpythonボックスで登録してみる回にします!

興味がなくなっちゃった方は、また明日来てくださいねっ♪

下記は登録をするソースです。


 

class MyClass(GeneratedClass):

def __init__(self):

GeneratedClass.__init__(self)

def onLoad(self):

self.framemanager = ALProxy("ALFrameManager")

def onUnload(self):

pass

def onInput_onStop(self):

self.onUnload()

def onInput_onStart(self, p):

import os.path,sqlite3

temp = "INSERT INTO hogehoges (hoge_id, name, age) VALUES ('" + p[0] + "','" + p[1] + "','" + p[2] + "');"

try:

dbfile = os.path.join(self.framemanager.getBehaviorPath(self.behaviorId),"../db/hogehoge.sqlite")

connect = sqlite3.connect(dbfile)

cursor = connect.cursor()

cursor.execute(str(temp))

except Exception as e:

connect.rollback()
else:
connect.commit()

finally:

connect.close()
 



このソースは、dbフォルダ内にhogehoge.sqliteをコレグラフからインポートしているものとして書いてます。

前提条件としてはこの他に、登録しようとしているテーブル名はhogehogesで、hoge_id,name,ageの3つのカラムが用意してある、このpythonボックスが入力から受け取った配列をカラムの値として登録しているです。

もちろん任意のテーブル名やカラム名にソースを変更してもらえれば、前提条件なんて無視してもらって大丈夫です(笑)

executeメソッド内のSQL(insert)以外は記事の頭で記述した以前の記事に詳しい内容を書いてたと思うので、そちらを参考にしてくださいね( ´ ▽ ` )ノバイバイ

福岡でロボット開発といえば、株式会社システムトランジスタ

(通称シストラ)ロボティクス部からのお知らせでした。

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です