zoukankan      html  css  js  c++  java
  • sqlalchemy + mysql

    # -*- encoding='utf-8' -*-
    
    from sqlalchemy import Column, String, create_engine, Integer
    from sqlalchemy.orm import sessionmaker
    from sqlalchemy.ext.declarative import declarative_base
    import time
    import os
    
    
    Base = declarative_base()
    
    
    class Patent(Base):
        __tablename__ = 'patent'
        id = Column(Integer, primary_key=True, autoincrement=True)
        name = Column(String(100))
    
    class Software(Base):
        __tablename__ = 'software'
        id = Column(Integer, primary_key=True, autoincrement=True)
        name = Column(String(100))
    
    class Trademark(Base):
        __tablename__ = 'trademark'
        id = Column(Integer, primary_key=True, autoincrement=True)
        name = Column(String(100))
    
    engine = create_engine('mysql+mysqldb://root@localhost:3306/byb?charset=utf8')
    Base.metadata.create_all(engine)    # create table
    
    # DBSession = sessionmaker(bind=engine)
    
    # session = DBSession()
    
    #  insert one record
    # new_user = User(name='Bob')
    # session.add(new_user)
    # session.commit()
    
    #  query
    #user = session.query(User).filter(User.id=='6').one()
    #print('name', user.name)
    #session.close()
    
    
    # start = time.time()
    # engine.execute(User.__table__.insert(), [dict(name='name-{}'.format(i)) for i in range(10000000)])
    # duration = time.time() - start
    # print(duration)  #  153.53116178512573 s
    
    # with open('/root/Downloads/company/filter_zl.txt', 'r') as f:
        # company = f.readlines()
    
    # with open('/root/Downloads/company/filter_rz.txt', 'r') as f:
        # company = f.readlines()
    
    # with open('/root/Downloads/company/filter_sb.txt', 'r') as f:
        # company = f.readlines()
    
        # companys = [i.strip() for i in company if len(i.strip())>5]
    # print(companys)
    
    # start = time.time()
    # engine.execute(Patent.__table__.insert(), [dict(name=i.encode('utf8')) for i in companys])  #  6.922209739685059
    # engine.execute(Software.__table__.insert(), [dict(name=i) for i in companys])  #  6.922209739685059
    # engine.execute(Trademark.__table__.insert(), [dict(name=i) for i in companys])  #  6.922209739685059
    # duration = time.time() - start
    # print(duration)  #  153.53116178512573 s
    
    filedir = '/root/Downloads/company/'
    for filename in os.listdir(filedir):
        filename = filedir + filename
        with open(filename, 'r') as f:
            company = f.readlines()
    
            companys = [i.strip() for i in company if len(i.strip())>5]
        if 'zl' in filename:
            engine.execute(Patent.__table__.insert(), [dict(name=i.encode('utf8')) for i in companys])  #  6.922209739685059
        if 'rz' in filename:
            engine.execute(Software.__table__.insert(), [dict(name=i) for i in companys])  #  6.922209739685059
        if 'sb' in filename:
            engine.execute(Trademark.__table__.insert(), [dict(name=i) for i in companys])  #  6.922209739685059
    
    # start = time.time()
    # duration = time.time() - start
    # print(duration)  #  153.53116178512573 s
  • 相关阅读:
    人不成熟的六个特征
    qq申请器,有源码,用post提交
    有的公司,在不断创新,我们时刻能感受到
    Java中 堆 栈,常量池等概念解析(转载)
    Jquery获得相同id的元素
    强大Jquery插件,table排序
    和计算机沟通
    千万级架构设计诀窍(zz)(
    强大Jquery插件,table排序之二
    原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务、生物技术、房地产、医疗、保险和公用事业。正如乔纳 森在文中所言,本文适合刚毕业的大学生和刚入门的程序员。如果你已是高级
  • 原文地址:https://www.cnblogs.com/yugengde/p/8692725.html
Copyright © 2011-2022 走看看