1.单个对象通过orm写入数据库
import os
import sys
import django
def save_cli_run_log(cli, state, result, user_id):
"""将数据写入数据库"""
dir = os.path.dirname(os.path.abspath(__file__))
dir = os.path.join(dir, 'autoweb')
sys.path.insert(0, dir)
settings_path = 'autoweb.settings'
os.environ.setdefault("DJANGO_SETTINGS_MODULE", settings_path)
django.setup()
from azure_audit.models import CliRunLogModel
obj = CliRunLogModel()
obj.cli = cli
obj.state = state
obj.result = result
obj.user_id = user_id
obj.save()
return 复制代码
2.excel通过orm批量写入数据库
def excel_save_mysql():
"""调用orm将数据写入数据库"""
dir = os.path.dirname(os.path.abspath(__file__))
dir = os.path.join(dir, 'django项目名称')
sys.path.insert(0, dir)
settings_path = '项目名称.settings'
os.environ.setdefault("DJANGO_SETTINGS_MODULE", settings_path)
django.setup()
from Score.models import Score
"""清空数据库,谨慎使用"""
data = pd.read_excel("/home/python/Desktop/score7.xls")
data = data.fillna({"student_code": -1})
data["student_code"] = data["student_code"].astype(int).astype(str)
data = data.replace("-1", "")
data = data.replace("1", "")
data = data.fillna("")
connect = create_engine('mysql+pymysql://root:pwd@127.0.0.1:3306/数据库名')
pd.io.sql.to_sql(data, "表名", connect, schema='数据库名', if_exists='append', index=False)
print('数据保存成功')
return 0复制代码