# -*- 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