#导包
import os
import sys
脚本式调用Django
#将脚本所在工程添加到环境变量
sys.path.append('../../mymacwjy')
#将项目路劲添加到系统搜寻路径
os.environ['DJANGO_SETTINGS_MODULE'] = 'mymacwjy.settings'
#导入django模块
import django
#导入科学计算
import numpy as np
import pandas as pd
#导入sqlalchemy
from sqlalchemy import create_engine
#加载项目配置 setup安装
django.setup()
#加载数据类 import 导入数据类名为Student
from myapp.models import Student
pands数据框架基本操作
if __name__ == "__main__":
#建立数据库引擎
engine = create_engine('mysql+pymysql://root:mysql@localhost:3306/mymac')
#写一条sql
sql = ' select id,name,age,gender from student '
#建立一个数据库
df = pd.read_sql_query(sql,engine)
print(df)
# #按年龄正序 sort_values()方法是按字段排序
# # sql语句 select * from student order by age asc | desc
# df = df.sort_values(['age'],ascending=False)
# print(df)
# #取年龄最小的学生 head(1) 只取一个
# df = df.sort_values(["age"]).head(1)
# print(df)
# #使用mean()方法0 1 是代表gender 求所有人的平均年龄 使用loc[] 方法指定字段
# print(df.mean())
# print(df.mean(0))
# print(df.mean(1))
# #求小于全部平均年龄的女女生
# #sql语句 select * from student where gender = 0 and age < (select avg(age) from student where gender = 0)
# avg_age = df.loc[df['gender'] == 0].age.mean()
# print(df.loc[ (df['age'] < avg_age) & (df['gender'] == 0) ])
##取全班的平均年龄
# print(df.age.mean())
##取全班的年龄总和
# print(df.age.sum())
# #取男生的年龄求和
# print(df.loc[df['gender']==1].age.sum())
# #取全班年龄最小的 min() max()
# print(df.age.min())
# #使用或者 | 查询
# print(df.loc[ (df['gender'] == 1) | (df['gender'] == 0 ) ])
# #全班人数
# print(df.id.count())
# #排除法
# print(df.loc[ (df['gender'] != 0) & (df['gender'] != 1) ])
# #修改操作 loc[] 第一个参数是第几行 第二个参数是字段
# df.loc[1,'gender'] = 0
# df.loc[0,'age'] = 20
# print(df)
# #取单值指定字段 nplist[2,3] nplist[2][3]
# print(df.loc[2,'name'])
# #获取指定字段
# print(df.loc[ df['gender'] == 1,['id','name']])
#将dataframe 写入数据表 第一个参数表名 第二个参数 数据可引擎engine 第三个参数 索引是否入库
# df.to_sql('student_copy',engine,index=False)
查询sql生成excel表格
#导出excel 文件
# df.to_excel('student.xlsx',index=False)
# print(Student.objects.all())