pandas的基础使用,数据库连接,文件读取,切片的使用等基本操作----01

学习目标:

pandas的基础使用


学习内容:

1、 pandas的读取数据库文件,其他文件格式等等
2、 将文件保存到数据库中
3、 loc和iloc的切片调用表格数据
4、等等…


学习代码:

import pandas as pd
from sqlalchemy import create_engine
#一共有两个数据库,一个是checksystem(带有student表)一个是testdb(带有meal_order_detail1表)
engine = create_engine('mysql+pymysql://root:123456@localhost:3306/testdb?charset=utf8')
#engine = create_engine('mysql+pymysql://root:123456@localhost:3306/checksystem?charset=utf8')
# print(engine)
# #读取数据库中的表
# formlist = pd.read_sql_query('show tables',con=engine)
# print('checksystem的数据表清单:\n',formlist)
# #读取数据库中表的数据
# detail = pd.read_sql_table('student',con=engine)
# print('student的表数据为:\n',detail)
# #读取表详情
# detail2 = pd.read_sql_query('select * from student',con=engine)
# print('读取的表为:\n',detail2)
# #表数据个数
# print('student表数据个数:',len(detail2))
# #将表数据写入数据库用to_sql,写入数据库只有一个方法,读取数据库的数据有三个方法。
# detail2.to_sql('new_table2',con=engine,if_exists='replace')
# #展示数据库中的表
# formlist2 = pd.read_sql_query('show tables',con=engine)
# print('checksystem的数据表清单:\n',formlist2)
# #同理读取.csv/.jason/.excel等不同的文件都一样

#DataFrame的常见操作,以数据库中的stduent表为例操作
read_table_student = pd.read_sql_table('meal_order_detail1',con=engine)
# print(read_table_student) #打印出整个table,一共有7行数据,4列
# #DataFrame的常用属性values,index,columns,dtypes,分别获取元素,索引,列名,类型
# print('索引:',read_table_student.index)  #索引,即使行序列号0-6(一共7行)
# print('table的所有数据:',read_table_student.values) #打印的数据,二维数组
# print('打印表的列:',read_table_student.columns)
# print('数据表的数据类型:\n',read_table_student.dtypes)
#
# #DataFram的其他属性.size/.ndim/.shape分别获取元素的个数,维度,数据形状
# print('数据表的元素个数:\n',read_table_student.size)
# print('数据表的维度:\n',read_table_student.ndim)
# print('数据表的形状:\n',read_table_student.shape)
#.T属性进行转置
#print('数据表的转置:\n',read_table_student.T)
#查看DataFrame中的数据方式
#查看DataFram的某一列
# print(read_table_student.name) #另一种写法print(read_table_student['name'])
#查看单行一列
# print(read_table_student['name'][:5])
#查看多行多列数据,先列后行
# print(read_table_student[['name','id']][0:3])
#DataFrame的.head/.tail属性可以访问前n行或者后n行数据,形参表示访问多少行,默认参数是5行
# print(read_table_student.head(2))  #访问前两行数据
# print(read_table_student.tail(2))  #访问后两行数据

#DataFram中的loc和iloc实现的花式切片访问,
#print(read_table_student[2:6,['name','id']])
#iloc和loc的条件切片
#loc的条件切片
print(read_table_student.loc[read_table_student['order_id']=='458',['order_id','dishes_name']])
#iloc的条件切片
print(read_table_student.iloc[(read_table_student['order_id']=='458').values,[1,5]])

你可能感兴趣的:(pandas,python,数据库)