2016-11-09 88 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) 

当我进行筛选查询(这我假设它类似于其中SQL子句)它给<__main__.blc object at 0x00705770>错误 后来,我打算有插入子句放在一个循环中,它将从Excel工作表读取数据。

回答

0

结果是一个对象引用类BLC。要获得所需的专栏,我必须做result.ColName

相关问题