一:引入文件

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)

sqlAlchemy搭建sqliteOrm的更多相关文章

  1. Flask RESTful API搭建笔记

    之前半年时间,来到项目的时候,已经有一些东西,大致就是IIS+MYSQL+PHP. 所以接着做,修修补补,Android/iOS与服务器数据库交换用PHP, Web那边则是JS+PHP,也没有前后端之 ...

  2. 【Python】部署上手App后端服务器 - Linux环境搭建安装Python、Tornado、SQLAlchemy

    基于阿里云服务器端环境搭建 文章目录 基于阿里云服务器端环境搭建 配置开发环境 安装 Python 3.8.2 安装 Tornado 安装 MySQL 安装 mysqlclient 安装 SQLAlc ...

  3. db2+python+sqlchemy环境的搭建

    记录了通过sqlalchemy 管理db2数据库的环境搭建 1.db2数据库安装配置 利用winscp复制iso文件到/mnt/IBM_db2 目录下 IBM_db2为自己创建 重命名 mv IBM\ ...

  4. pip高级使用技巧以及搭建自己的pypi服务器

    =========================  pip 访问非官方pypi源, 以及代理的设置=========================在Windows下安装某些Python的C ext ...

  5. mysql学习笔记(sqlalchemy安装及简单使用)

    博主最近在研究接口API自动化测试,之前设计的通过excel来实现自动化测试的框架实际使用中还是有很多局限性 这次博主的思路是: 1 搭建接口API管理平台 支持数据库方便维护 2 自动化测试平台可直 ...

  6. 使用Sublime Text搭建python调试环境

    原文地址:http://blog.csdn.net/wenxuansoft/article/details/38559731 pycharmt等IDE虽然用着爽,但毕竟在速度.资源上还是比较让人不爽的 ...

  7. Flask+Mysql搭建网站之数据库问题

    关于 SQLAlchemy (1.0.8) 和 Flask-SQLAlchemy (2.0) SQLALchemy 是Python语言的SQL工具包及对象关系映射(ORM)工具.Flask-SQLAL ...

  8. Python+django开发环境搭建

    Python目前主版本有2个,2.7+和3.4+ 新入手,决定还是从2.7开始 先从python官网https://www.python.org/下载python2.7.10,64位版本(这里注意,选 ...

  9. flask框架+pygal+sqlit3搭建图形化业务数据分析平台

    一. 前言 先说下主要的框架和主要的图形库的特点:(个人见解) Django:python开发的一个重量级的web框架,集成了MVC和ORM等技术,设计之初是为了使开发复杂的.数据库驱动的网站变得简单 ...

随机推荐

  1. ios排序NSArray(数字.字符串)

    NSArray *originalArray = @[@"1",@"21",@"12",@"11",@"0&q ...

  2. Django之Form、跨站请求以及cookie、session

    Form表单 常规html页面的form表单验证 常规页面中,如果想实现对表单中用户输入信息的数据验证,需要配合Ajax来实现. 使用前我们先来熟悉下函数参数:request,其中包含的意义: req ...

  3. fetch jsonp请求接口

    function loadTbbRec() { var fetchJsonp = require('fetch-jsonp'); fetchJsonp(ext.info.tbbRecUrl, { he ...

  4. js 如何让两个等长的数组产生键值对关系

    问题的准确描述:js 将两个长度一样的一维数组 合成一个一维数组,A为键值,B为key值 js 将两个长度一样的一维数组 合成一个一维数组,A为键值,B为key值 如 var arr1=['a','b ...

  5. render()中添加js函数

    方案一: { title: '操作', key: 'operation', render: (_, record) => ( <div> <Link to={`/hostMai ...

  6. iOS-GCD处理后台线程和UI线程的交互

    一个例子: 在iPhone上做一个下载网页的功能,就是:在iPhone上放一个按钮,单击按钮时,显示一个转动的圆圈,表示正在进行下载,下载完成后,将内容加载到界面上的一个文本控件上. 使用GCD前: ...

  7. 高级UI-RecyclerView间隔线添加

    上文讲到了RecyclerView的简单使用,知道RecycleView是怎么使用的了,那么这一节将基于上一届的内容继续改进,在ListView中很轻松就能实现的间隔线,在RecycleView中也需 ...

  8. java如何获取当前日期和时间

    System.currentTimeMillis() 获取标准时间可以通过System.currentTimeMillis()方法获取,此方法不受时区影响,得到的结果是时间戳格式的.例如: 15431 ...

  9. 《Tsinghua oc mooc》第8~10讲 虚拟内存管理

    资源 OS2018Spring课程资料首页 uCore OS在线实验指导书 ucore实验基准源代码 MOOC OS习题集 OS课堂练习 Piazza问答平台 暂时无法注册 第八讲 虚拟内存概念 为什 ...

  10. PCL学习(二)三维模型转点云 obj转pcd----PCL实现

    #include <pcl/io/io.h> #include <pcl/io/pcd_io.h> #include <pcl/io/obj_io.h> #incl ...