一:引入文件

from sqlalchemy import Column, Integer, VARCHAR, Text
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker Base = declarative_base() #构造基类

二:表结构

class TiKu(Base):
__tablename__ = 'spider_tiku'
id = Column(Integer(), primary_key=True, autoincrement=True)
kaoshi = Column(VARCHAR(200), nullable=True)
subject = Column(VARCHAR(200), nullable=True)
chapter = Column(VARCHAR(200), nullable=True)
section = Column(VARCHAR(200), nullable=True)
tixing = Column(VARCHAR(20), nullable=True)
question_case = Column(Text(), nullable=True)
question = Column(Text, nullable=True)
a = Column(VARCHAR(1000), nullable=True)
b = Column(VARCHAR(1000), nullable=True)
c = Column(VARCHAR(1000), nullable=True)
d = Column(VARCHAR(1000), nullable=True)
e = Column(VARCHAR(1000), nullable=True)
other_sections = Column(VARCHAR(3000), nullable=True)
answer = Column(VARCHAR(500), nullable=True)
analysis = Column(Text(), nullable=True)
source = Column(Text(), nullable=True) def __str__(self):
return '< {} {} {}>'.format(self.kaoshi, self.subject, self.chapter)

三:sqlite orm

class SqliteOrm(object):

    def __init__(self, path):
sqlite_path = 'sqlite:///{}'.format(path)
self.engine = create_engine(sqlite_path)
Session = sessionmaker(bind=self.engine)
self.session = Session() def create_table(self):
self.drop_table()
Base.metadata.create_all(self.engine) def insert(self, obj):
# 将该实例插入到表
self.session.add(obj)
self.session.commit() def insert_many(self, batch_data: list):
# 一次插入多条记录形式
self.session.add_all(batch_data)
self.session.commit() def drop_table(self, table_name='spider_tiku'):
try:
self.execute_sql('drop table %s' % table_name)
except Exception as e:
pass def execute_sql(self, sql):
self.session.execute(sql)

最新文章

  1. Ubuntu14.0下安装Zend Framework 2
  2. 20145212 《Java程序设计》第1周学习总结
  3. jQueryUI日期显示
  4. linux中改变文件权限和属性
  5. nyoj 488 素数环
  6. 简学Python第二章__巧学数据结构文件操作
  7. Android MTK平台最完备的开机动画修改教程
  8. PS快速祛除脸上小雀斑
  9. mysql视图、存储过程等
  10. JS基础:求一组数中的最大最小值,以及所在位置
  11. python3 读取文件跳过文件第一行内容
  12. angularjs 异步请求无法更新数据
  13. ptime概述
  14. Word 2013无法启用Restrict Editing解决方法
  15. Entity Framework Context上下文管理(CallContext 数据槽)
  16. [gj]HK一行所见闻
  17. Myeclipse 2013 professional 破解
  18. Python3 条件控制(九)
  19. Git之安装及使用
  20. CAS单点登陆的两个原理图

热门文章

  1. SpringCloud学习成长之 九 服务链路跟踪
  2. 雨田家园 delphi 拆分字符串
  3. vmware安装密钥
  4. EasyNetQ使用(十)【用EasyNetQ.Hosepipe重新提交错误信息】
  5. 【c# 学习笔记】接口与抽象类
  6. 【c# 学习笔记】阻止派生类重写虚成员
  7. 离线安装docker,并导入docker镜像
  8. Linux-BSP-驱动-面试题大全
  9. python3 字符集的应用
  10. python学习--12 基本数据类型