formate_list = []
with open('oringe_data','r',encoding='utf-8') as f:
formate_list = f.read().splitlines()
# watcher_id = db.Column(db.VARCHAR(36),comment='1234')
for key in formate_list:
name = key.split(':')[0].replace("\"","")
templent_str = "{name} = db.Column(db.VARCHAR(16))".format(name=name)
print(templent_str)
生成class的属性字段,字段长度需要自己进行修改,这部需要手动
# coding: utf-8
from sqlalchemy import Column, Index, MetaData, String, Table, Unicode
from sqlalchemy.dialects.mssql import SMALLDATETIME
from flask_sqlalchemy import SQLAlchemy
from flask import Flask
app = Flask(__name__)
app.config['SECRET_KEY'] = '123'
app.config['SQLALCHEMY_DATABASE_URI'] ='mssql+pymssql://admin:xxxxxxxx'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class WangWei(db.Model):
__tablename__ = 't_wangwei_videosurveillance'
id = db.Column(db.VARCHAR(16),primary_key=True)
chanNickName = db.Column(db.VARCHAR(100))
chanAor = db.Column(db.VARCHAR(25))
corpId = db.Column(db.VARCHAR(16))
alive = db.Column(db.VARCHAR(16))
parentId = db.Column(db.VARCHAR(25))
longitude = db.Column(db.VARCHAR(16))
latitude = db.Column(db.VARCHAR(16))
devPubId = db.Column(db.VARCHAR(25))
ipAdder = db.Column(db.VARCHAR(16))
port = db.Column(db.VARCHAR(16))
chanLoginName = db.Column(db.VARCHAR(16))
chanLoginPass = db.Column(db.VARCHAR(16))
businessGroupId = db.Column(db.VARCHAR(16))
model = db.Column(db.VARCHAR(16))
manufacturer = db.Column(db.VARCHAR(16))
owner = db.Column(db.VARCHAR(16))
civilCode = db.Column(db.VARCHAR(16))
block = db.Column(db.VARCHAR(16))
address = db.Column(db.VARCHAR(100))
parental = db.Column(db.VARCHAR(16))
safetyWay = db.Column(db.VARCHAR(16))
registerWay = db.Column(db.VARCHAR(16))
certNum = db.Column(db.VARCHAR(16))
certifiable = db.Column(db.VARCHAR(16))
errCode = db.Column(db.VARCHAR(16))
endTime = db.Column(db.VARCHAR(16))
secrecy = db.Column(db.VARCHAR(16))
positionType = db.Column(db.VARCHAR(16))
roomType = db.Column(db.VARCHAR(16))
ptzType = db.Column(db.VARCHAR(16))
netType = db.Column(db.VARCHAR(16))
publicId = db.Column(db.VARCHAR(25))
grid_id = db.Column(db.VARCHAR(16))
position_name = db.Column(db.VARCHAR(100))
creat_time = db.Column(db.DATETIME)
updata_time = db.Column(db.DATETIME)
db.create_all()
db.session.commit()
往数据库里面插入表
import json
from test_model import WangWei
from datetime import datetime
from flask_sqlalchemy import SQLAlchemy
from flask import Flask
app = Flask(__name__)
app.config['SECRET_KEY'] = '123'
app.config['SQLALCHEMY_DATABASE_URI'] ='mssql+pymssql://admin:xxxxxx'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
with open("data.json",'r',encoding='utf-8') as load_f:
load_dict = json.load(load_f)
temp_num = 1
num = 0
for cell_dict in load_dict['data']:
wangwei = WangWei()
for dcit_key in cell_dict:
# print(dcit_key)
setattr(wangwei, dcit_key, cell_dict[dcit_key])
# if num
# if num >= temp_num:
# temp_num = temp_num + 1
# break
# break
num = num + 1
if num < 2674:
continue
print(num)
now_time = datetime.today().strftime('%Y-%m-%d %H:%M:%S')
setattr(wangwei, 'creat_time', now_time)
setattr(wangwei, 'updata_time', now_time)
db.session.add(wangwei)
db.session.commit()
使用json数据往数据库里面插入字段
后记python的类装饰器
可以看这篇文章