Python有关模块学习记录

Posted 舞动的心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python有关模块学习记录相关的知识,希望对你有一定的参考价值。

pandas numpy模块

首先安装搭建好jupyter notebook,运行成功后的截图如下:

安装使用步骤(PS:确定Python安装路径和安装路径里面Scripts文件夹路径已经配置到环境变量中去,即pip所在路径已经配置到环境变量中去):

//以下说明是在Windows环境下
//安装
pip install jupyter notebook

//不出意外即可安装成功
//然后在Scripts文件夹里面即可看到安装后的jupyter notebook相关配置文件

在CMD中输入jupyter notebook即可在默认浏览器中打开jupyter notebook网页编辑页面

 

 

推荐资料:

Jupyter Notebook简洁教程

Pandas 使用教程 1

Pandas 使用教程 2

Pandas 使用教程 3

Pandas 使用教程 4

Pandas 使用教程 5

 

 


2 peewee模块

使用peewee连接mysql数据库,进行增删查改操作语句示例。原文链接

 

增
单条增加

方法1

StudentsInfo.create(student_name=\'amos\', student_no=880)

方法2

StudentsInfo.insert(student_name=\'lucy\', student_no=881).execute()

 

等同于insert into student_info (student_name, student_no)  values (\'lee\',882)

多条增加

方法1

data_source = [

    {\'student_name\': \'lance\', \'student_no\': 883},

    {\'student_name\': \'john\', \'student_no\': 884},

    # ...

]

 

for data_dict in data_source:

StudentsInfo.create(**data_dict)

 

方法2(这个方法会快很多)

data_source = [

    {\'student_name\': \'jason\', \'student_no\': 886},

    {\'student_name\': \'tom\', \'student_no\': 887},

    # ...

]

with database.atomic():

    for data_dict in data_source:

        StudentsInfo.create(**data_dict)

方法3(最快的方法)

data_source = [

    {\'student_name\': \'hom\', \'student_no\': 888},

    {\'student_name\': \'baby\', \'student_no\': 889},

    # ...

]

with database.atomic():

StudentsInfo.insert_many(data_source).execute()

如果数据量太大或许你需要分开处理,比如一次处理100条:

data_source = [

    {\'student_name\': \'hom\', \'student_no\': 888},

    {\'student_name\': \'baby\', \'student_no\': 889},

    # ...

]

with database.atomic():

    for idx in range(0,len(data_source),100):

    StudentsInfo.insert_many(data_source[idx:idx+100]).execute()

 

删
单条删除

st = StudentsInfo.get(student_name=\'hom\')

st.delete_instance()

等同于DELETE from student_info where student_name = \'hom\'

 

多条删除

StudentsInfo.delete().where(StudentsInfo.student_no < 883).execute()

等同于DELETE from student_info where student_no < 883

 

改
方法1指定数据

StudentsInfo.update(student_no=890).where(StudentsInfo.student_name == \'baby\').execute()

方法2依据原有数据自动更新

StudentsInfo.update(student_no=StudentsInfo.student_no + 1).where(StudentsInfo.student_name == \'baby\').execute()

方法3 多字段更新

StudentsInfo.update(student_no=890,student_name=\'lady\').where(StudentsInfo.student_name == \'baby\').execute()

 

查
1. 一般查询

st1 = StudentsInfo.select()

查询所有的记录并获取他们

for i in st1:

    print i.student_no, i.student_name

 

2. 单条查询

st2 = StudentsInfo.get(StudentsInfo.student_no == 883)

print st2.student_no, st2.student_name

 

对比1和2个区别

先获取他们的类型

print type(st1) == > <class \'peewee.SelectQuery\'>

Print type(st2) == > <class \'createDB.StudentsInfo\'>

st1是’SelectQuery\'类型需要使用for循环逐条获取,而st2本身就是一个实例的对象可以直接获取它的属性

 

3. 查询部分字段

st3 = StudentsInfo.select(StudentsInfo.student_no)

 

4. 有条件查询

st4 = StudentsInfo.select().where(StudentsInfo.student_no == 883)

 

5. 随机查询

需要先引入fn

from peewee import fn

st5 = StudentsInfo.select().order_by(fn.Random()).limit(2)

 

6. 排序查询

正序

st6 = StudentsInfo.select().order_by(StudentsInfo.student_no.asc())

反序

st6 = StudentsInfo.select().order_by(StudentsInfo.student_no.desc())

 

7. Not in组合查询

简单举例,现有学生信息表student_info学生姓名student_name和学号student_no,学生成绩表score_table学号student_no和分数score

st7 = StudentsInfo.select(StudentsInfo.student_no).where(StudentsInfo.student_no > 880)

sc = StudentsScore.select().where(StudentsScore.student_no.not_in(st7))

8. 模糊查询

比如想要查询学生名字包含’ba’的学生以及学号

%符号就相当于sql里的like

st8 = StudentsInfo.select().where(StudentsInfo.student_name % \'%ba%\')

for i in st8:

    print i.student_no,i.student_name



纯手打,多谢支持。
peewee连接mysql进行增删查改操作

 

以上是关于Python有关模块学习记录的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

Python 常用模块学习

Python学习(22):模块

使用 Python 代码片段编写 LaTeX 文档

实训第八天 有关python orm 的学习记录 常用方法01

实训第八天 有关python orm 的学习记录 常用方法02