サムネがコーヒーの記事は書きかけです。

【研究用スクリプト】SQLAlchemyでSQLiteデータベースに接続してPythonクラスをマッピングする方法

モジュールのインポート

from sqlalchemy import create_engine, Column, Integer, String, BLOB, FLOAT
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

スキーマの定義

class Cell(Base):
    __tablename__ = 'cells'
    id = Column(Integer, primary_key=True)
    cell_id = Column(String)
    perimeter = Column(FLOAT)
    m_long = Column(FLOAT)
    m_short = Column(FLOAT)
    center_x = Column(FLOAT)
    center_y = Column(FLOAT)

データベースへの接続

engine = create_engine('sqlite:///cell.db', echo=False)
Base.metadata.create_all(engine)

Session = sessionmaker(bind=engine)

データの追加

新規クラスを作成してaddを使用してデータベースに追加します。

この時、既に同じ要素がある場合は追加をパスする処理を行うこともできます。

with Session() as session:
                    cell =Cell(cell_id = cell_id,m_long = m_long, center_x = center[0],center_y = center[1])
                    if session.query(Cell).filter_by(cell_id = cell_id).first() is None:
                        session.add(cell)
                        session.commit()

コメントを残す

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