python学习笔记(3)
学习目录
---------------------
1.常用格式的本地数据读写
2.SQL常用语法讲解
3.Python的数据库基本操作
4.数据库多表连接的用法详解
5.实战案例:欧洲职业足球数据库分析
一、常用的数据分析文件格式:txt,csv,json,xml,xsl,xslx,HDF。其他可以转换成以上格式的数据文件:如GIS的.dbf可以导出成.csv文件
1.txt:(1)由字符串组成,每行由EOF(End Of Line)字符隔开,'\n'
(2)打开文件
file_obj=open(filename,access_mode)
access_mode:'r','w'
(3)读操作
file_obj.read()读取整个文件的内容
file_obj.readline()逐行读取
file_obj.readlines()返回列表,列表中的每个元素都是行内容
(4)写操作:
file_obj.write()将内容写入文件
file_obj.writelines()将字符串列表逐行写入文件
(5)关闭文件:file_obj.close()
2.with语句
(1)包括了异常的处理,自动调用文件关闭的操作,推荐使用
(2)适用于对资源进行访问的场合,确保无论适用过程中是否发生异常都会执行"清理操作",如文件关闭、线程的自动获取与释放等
(3)with open(filename) as f_obj
#执行相关操作
3.CSV(Comma-Separated Value)
(1)以纯文本形式存储的表格数据(以逗号作为分隔符),通常以第一行为列名
(2)文本操作
numpy的np.loadtxt(),比较复杂
利用pandas处理,快捷方便
(3)读操作:df_obj=pd.read_csv(),返回DataFrame类型的数据
(4)写操作
df_obj.to_csv()
4.Pandas
(1)基于Numpy构建的
(2)索引在左边,数值在右边。索引是pandas自动创建的
(3)数据结构:
Series,类似于一维数组的对象
DataFrame,表格型数据结构,每列可以是不同的数据类型,可以表示二维或者更高维的数据
5.JSON(JavaScript Object Notation)
轻量级的数据交换格式2:val2
语法规则
数据是键值对
由逗号分隔
{}保存对象,如{key1:val1,key}
[]保存对象,如[val1,val2,.......,valn]
读操作:
json.load(file_obj)
返回值是dict类型
类型转换 json -> csv
编码注意:ensure_ascii=False,encoding='utf-8'
编码操作:json.dumps()
编码注意:ensure_ascii=False,encoding='utf-8'
XLS/XLSX(Excel文件)
(1)常用的电子表格数据
(2)文件操作
利用pandas处理,方便快捷
(3)读操作:df_obj=pd.read_excel(),返回DataFrame类型的数据
(4)写操作:df_obj.to_excel()
(5)具体操作参考pandas如何处理csv文件
HDF(Hierarchical Data Format)
存储2种数据对象
数组类型的数据
目录结构的数据
安装h5py
conda install h5py
文件操作
f_obj = h5py.File(file_name,mode)
主要用于图像识别的数据存储.
了解即可
6.SQL常用语法讲解
(1)数据库的CRUD操作
create database xxx
insert into table_name(column1,column2,column3,.......)values(value1,value2,value3,......);
Read
Select column_name,column_name from table_name;
Update
Update table_name set column1= value1,column2=value2,...........where some_column=some_value;
Delete Delete from table_name where some_column=some_value;
7.Python的数据库的基本操作
(1)SQLite
关系型数据库管理系统
嵌入式数据库,适用于嵌入式设备
SQLite不是C/S的数据库引擎
集成在用户程序中
实现了大多SQL标准
(2)SQLite连接数据库
conn=sqlite3.connect(db_name)
如果db_name存在,读取数据库
如果db_name不存在,新建数据库
打开文件--->读取文件(其他操作)--->关闭
创建连接--->操作--->关闭连接释放资源
(3)获取游标
conn.cursor()
一段私有的SQL工作区,用于咱叔存放受SQL影响的数据
CRUD操作
conn.execute(sql_str)
conn.executemany(sql_str)批量操作
fetchone()
fetchall()
conn.commit()提交操作
关闭连接:conn.close()
(4)数据库多表连接的用法详解
多表连接:查询记录的时候讲多个表中的记录连接(join)并返回结果
join方式:
交叉连接(cross join)
内连接(inner join )
外连接(outer join)
cross join
生成两张表的笛卡尔积
返回的记录数为两张表的记录数乘积
二、实战案例
1.项目介绍
25000+球队数据
10000+球员数据
11个欧冠国家
2008-2016赛季
球员和球队数据属性来自EA FIFA电子游戏,包括每周的数据更新