2016-11-09 16 views
0

私の目標は、Excelシートからデータを読み取り、SQLサーバー上にデータベースを作成することです。私はSQLalchemyを使ってサンプルコードを書こうとしています。私はそれを初めて使っています。私がこれまで持っているコードは次のとおりです。予期せぬ結果を出すAutoflushエラーとfilter_by()クエリ

私は、フィルタクエリを行っております
import time 
from sqlalchemy import create_engine, Column, Integer, Date, String, Table, MetaData,table 
from sqlalchemy.ext.declarative import declarative_base 
from sqlalchemy.orm import sessionmaker 

engine = create_engine('sqlite:///:memory:', echo = False) 

Base = declarative_base() 

class blc(Base): 
    __tablename__ = 'BLC_Databse' 

    date = Column(String, primary_key = True) 
    RES = Column(String) 
    BTTLCOLUMN = Column(String) 
    CS_HR = Column(Integer) 

Base.metadata.create_all(engine) 

sample = blc(date=time.strftime("%m/%d/%y") , RES = 'BDY_21', BTTLCOLUMN = '2075', CS_HR = 563) 

Session = sessionmaker(bind=engine) 
session = Session() 

sample2 = blc(date=time.strftime("%m/%d/%y") , RES = 'BDY_21', BTTLCOLUMN = '2076', CS_HR = 375) 

session.add(sample2) 

session.commit() 

with session.no_autoflush: 
    result = session.query(blc).filter_by(RES = 'BDY_21').first() 
    print(result) 

それは結局<__main__.blc object at 0x00705770>エラー を与える(私が想定しています、それはSQLのWHERE句に似ている)、私は、インサートを持っていることを計画しますループの上に置かれ、Excelシートからデータが読み込まれます。

答えて

0

結果は、クラスblcを参照するオブジェクトです。目的の列を取得するには、result.ColNameを実行しなければなりませんでした。

関連する問題