《Python数据处理与分析案例教程》中职全套教学课件_第1页
《Python数据处理与分析案例教程》中职全套教学课件_第2页
《Python数据处理与分析案例教程》中职全套教学课件_第3页
《Python数据处理与分析案例教程》中职全套教学课件_第4页
《Python数据处理与分析案例教程》中职全套教学课件_第5页
已阅读5页,还剩268页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python数据应用开发全套可编辑PPT课件本课件是可编辑的正常PPT课件项目1文件采集本课件是可编辑的正常PPT课件学而不思则罔,思而不学则殆。——孔子项目1文件采集项目描述:文件是数据的载体,针对不同的业务需求孕育出不同格式的文件类型,如CSV、XML、JSON、XLS、XLSX等,广泛应用于互联网及日常办公中,本项目介绍Python利用相关模块访问这些文件的基本方法。项目分析:Python提供了许多访问不同文件类型的模块,在访问文件前,要熟悉并掌握相关模块的功能及操作方法,以便快捷高效地实现文件数据的采集。知识目标:通过本项目的学习,掌握在Python环境下访问CSV、XML、JSON、EXCEL等常用的文件类型。技能目标:掌握第三方模块的安装和使用方法,掌握CSV、XML、JSON、EXCEL等常用文件类型的读取方法。知识储备:了解计算机数据存储的基本知识、磁盘文件系统及字符编码。思政目标:通过对数据存储方法的了解,培养学生在日常的学习和生活中,对事物进行合理规划的意识。本课件是可编辑的正常PPT课件1.1第三方模块

1.1.1第三方模块的概念

每一个Python源代码文件.py都是一个模块,从某种意义上讲,Python编程的实质就是通过调用模块实现快捷高效地解决问题的目的。Python模块可以分为三种:系统自带的内置模块、用户自定义的模块、第三方模块。Python能够得到蓬勃发展,与其拥有丰富的第三方模块密不可分。本课件是可编辑的正常PPT课件1.1第三方模块1.第三方模块的安装方法(1)使用pip命令安装第三方模块以Windows

系统为例,在系统命令行窗口中执行该命令来安装第三方模块,格式如下:C:\>pip install <第三方模块名> #直接下载安装第三方模块

pip命令是获取安装第三方模块的主要方法,也是官方推荐使用的方法,适合Windows、MacOS、Linux

等多种操作系统。使用该命令安装第三方模块时,需要连网操作,从网络上下载第三方模块。本课件是可编辑的正常PPT课件1.1第三方模块常用的pip命令格式:C:\>pip install -U <第三方模块名>#将已经安装的第三方模块升级到最新版本C:\>pip uninstall <第三方模块名>#卸载已安装的第三方模块C:\>pip download <第三方模块名>#下载第三方模块但不安装C:\>pip show <第三方模块名>#列出该第三方模块的详细信息C:\>pip list#列出当前系统已经安装的第三方模块C:\>pip-h或--help#显示pip命令帮助信息

本课件是可编辑的正常PPT课件1.1第三方模块格式说明:受网络环境及模块大小限制,有时模块下载速度可能较慢,这时可以通过国内镜像网站,如清华、阿里云等镜像服务器下载,在命令中加入参数“-i地址”可以指定模块的下载地址,操作命令如下: pip install-i 镜像网址模块名

本课件是可编辑的正常PPT课件1.1第三方模块(2)使用集成安装方法批量安装第三方模块

结合Python开发工具,通过软件可以批量安装第三方模块,如Anaconda软件。

Anaconda是Python数据处理的集成开发工具,提供若干常用的第三方模块,包括多个主流工具,该开发工具可以从其官网下载安装。本课件是可编辑的正常PPT课件1.1第三方模块(3)使用文件安装方法安装第三方模块

C:\Windows>pip install <文件名>

第三方模块通常都是编译过的,否则在pip命令下载安装时可能会出错,导致不能正确安装,这时就要将该模块下载并结合本机环境进行编译,对编译后的文件采用这种方式安装。本课件是可编辑的正常PPT课件1.1第三方模块(4)Python

中的包

通常,将功能相关的模块放在同一个文件夹下,这个文件夹就称为包。该文件夹下还包含一个名为

init

.py的文件,该文件有两个作用:一是描述包的相关信息,二是Python区分包与普通文件夹的主要依据。包中还可以包含若干子包,使模块的组织更加层次化。包的使用丰富了Python的命名空间,使项目结构清晰,在一定程度上避免了出现模块重名的问题。此处的下划线是必须的本课件是可编辑的正常PPT课件1.1第三方模块(5)Python

中的库

在学习Python时,经常会接触到库,库在Python中并没有一个明确的概念,具有某些功能的模块和包可以被称为库,库中也可以含有包、模块和函数。Python全球社区提供近四十余万个的第三方库,随着时间的推移,库的数量还会继续增加。在Python社区网站中,通过PyPI(PythonPackageIndex)可以搜索所需要的库。当然,搜索到的适合功能需求的库可能会有若干个,这时可以根据其功能描述,结合网络上相关评价信息,选择最适合自己需求的库来安装使用。包和库的导入方式与模块的导入方式相同,可参见模块导入命令import的使用方法。

在程序中使用模块时,必须先将模块导入当前程序中,而第三方模块必须事先下载安装到本地,才可以被导入程序中。本课件是可编辑的正常PPT课件1.1第三方模块2.模块的导入方式(1)使用import

命令导入模块

import模块1,模块2,…

import numpy #导入一个模块

import time,

random #同时导入多个模块import

模块as

别名import pandas as pd #pandas

模块别名为pd,方便应用

import matplotlib.pyplot as plt,numpy as np #同时导入多个模块并赋予别名(2)使用from

…import

…导入模块

from numpy import random #导入模块中的某个子模块本课件是可编辑的正常PPT课件Numpy、Pandas

模块的下载与安装

Numpy(NumericalPython)是用于科学计算、数据分析的基础模块,支持大量的维度数组与矩阵运算。Numpy底层使用C语言编写,具有较高的运算效率,作为第三方模块,可用来存储和处理大型的矩阵,被广泛应用于数据分析、机器学习的基础架构中。本课件是可编辑的正常PPT课件Numpy、Pandas

模块的下载与安装

Numpy模块下载安装在Windows命令行窗口中,输入pipinstallnumpy,实现下载并安装Numpy模块,如图1-1所示。图1-1Numpy

模块安装Pandas是一个开源的第三方模块,是基于Numpy

库的一个工具,主要为解决数据分析任务而创建的。Pandas

拥有大量的库及一些标准的数据模型,可以高效完成大型数据集的相关操作,在数据分析中得到广泛的应用。本课件是可编辑的正常PPT课件Numpy、Pandas

模块的下载与安装

Pandas模块下载安装在Windows命令行窗口中,输入pipinstallpandas,实现下载并安装Pandas模块,如图1-2所示。

图1-2Pandas模块安装Numpy和Pandas作为数据应用开发的主要。工具,都支持对CSV文件的操作,后面会进一步深入学习。说一说:大数据平台在汽车行业上的发展本课件是可编辑的正常PPT课件163

CSV

格式化数据的读写

CSV

格式化数据的读写1.CSV

文件组成

CSV是Comma-SeparatedValues的缩写,表示逗号分隔值,有时也称为字符分隔值,因为分隔字符也可以不是逗号。

CSV文件就是以逗号(或其他字符)分隔值,以纯文本形式存储任意数量的记录组成,即一行存储一条记录,每条记录的各值之间由逗号(或指定字符)进行分隔。通常记录都有相同的字段序列,因为是纯文本格式,所以CSV文件可以被记事本程序或表格软件等直接读取。由于CSV文件具有良好的可读性,也可以作为不同软件之间数据交互的桥梁。

CSV代表“逗号分隔值”,这是一种数据格式,其中的值通过逗号来分隔。不过,有时候它也被称作“字符分隔值”,因为用来分隔数据的字符并不局限于逗号,还可以是其他符号。CSV文件是一种文本文件,它使用逗号或其他分隔符来区分数据中的各个值。在这种文件格式中,每条记录占据一行,而记录中的各个值则通过逗号或指定的分隔符来分隔。通常情况下,所有的记录都会包含相同的字段顺序。由于CSV文件是纯文本格式,它们可以被文本编辑器和表格处理软件直接打开和读取。CSV文件的可读性很好,因此它们常被用作不同应用程序之间交换数据的通用格式。本课件是可编辑的正常PPT课件

CSV

格式化数据的读写2.CSV

模块

Python提供了CSV模块用于处理CSV文件,如CSV文件数据的读取、写入等操作,该方法中常用参数所表示的含义如下。csv.reader():生成读取CSV文件的csv._reader对象。csv.writer():生成写入CSV文件的csv._writer对象。writer.writerow():通过writer对象写入CSV文件一行数据。writer.writerows():通过writer对象写入CSV文件,一次写入多行数据。

csv.dictreader():读取CSV数据并转换为字典对象。csv.dictwriter():将字典对象数据写入CSV文件。本课件是可编辑的正常PPT课件

CSV

格式化数据的读写3.使用CSV模块读取文件内容。(1)使用csv.reader()函数读取CSV

文件使用csv.reader()函数读取CSV

文件,其语法格式为:

csv.reader(csvfile:Iterable[str],

dialect:str|Dialect|Type[Dialect]=...,

*,delimiter:str=...,quotechar:str|None=...,escapechar:str|None=...,doublequote:bool=...,skipinitialspace:bool=...,lineterminator:str=...,quoting:int=...,

strict:bool=...)本课件是可编辑的正常PPT课件

CSV

格式化数据的读写csv.reader()函数中常用参数所表示的含义如下。csvfile:必选参数,支持读取操作的文件对象或数据列表

;dialect:可选参数,用于定义csv文件格式;delimiter:用于分隔数据字段的字符串,默认为英文逗号“,”;

quotechar:用于带有特殊字符(如分隔符)的字段的引用符号,默认为“””;escapechar:用于对分隔字符进行转义的字符串;doublequote:如何处理字段内的引用符号,如果为True则双写;

skipinitialspace:忽略分隔符后面的空格,默认为False;

lineterminator:写操作时的行结束符,默认为“\r\n”,读操作时忽略该项;quoting:引用约定。本课件是可编辑的正常PPT课件

CSV

格式化数据的读写dialect参数使用示例:

classmy_dialect(csv.Dialect):

lineterminator=‘\n’delimiter=“|”quotechar=‘”’reader=csv.reader(fr,dialect=my_dialect)#读取特定格式的CSV文件(数据以“|”分隔,行以

'\n'结束),当然也可以不用这个参数而直接使用其他参数来进行相关操作。

函数返回的对象是一个迭代器,每次迭代返回一行CSV文件数据(可以跨多个输入行)。

本课件是可编辑的正常PPT课件

CSV

格式化数据的读写创建一个CSV文件sf.csv,在Excel中展现其内容,如图1-3所示。

图1-3sf.csv文件内容本课件是可编辑的正常PPT课件

CSV

格式化数据的读写【实例1-01】使用

csv.reader()读取

CSV

类型文件,具体代码如下:

import csvwith open(”sf.csv”, ’r’) ascsvfilereader=csv.reader(csvfile)For

lineinreader:print(line):#以只读方式打开CSV

文件,采用系统默认编码本课件是可编辑的正常PPT课件

CSV

格式化数据的读写程序输出结果:

['学号','姓名','语文成绩','数学成绩','专业课成绩']

['1001','李明','89','91','80']

['1002','赵海','85','76','75']

['1003','王中平','76','89','91']

['1004','博林','82','85','79']

['1005','昊古','69','92','88']

程序说明:程序通过import语句引入CSV模块,并用open()函数打开文件,返回一个文件流对象,通过csv.reader()方法读取文件流,生成一个可迭代的对象,再通过for循环逐行读取该对象中的数据输出。数据成功读取后,就可以按照相关需求对数据做进一步的处理。本课件是可编辑的正常PPT课件

CSV

格式化数据的读写(2)使用csv.DictReader()读取CSV

文件其语法格式为: DictReader( f:

Iterable[str],fieldnames:Sequence[_T],restkey:str|None=...,restval:str|None=...,dialect:Any=...,*,delimiter:str=...,quotechar:str|None=...,escapechar:str|None=...,doublequote:bool=...,skipinitialspace:bool=...,lineterminator:str=...,quoting:Any=...,strict:bool=...)该类中常用参数所表示的含义如下。

f:支持读取的文件对象或数据列表,必须参数;

fieldnames:字典健列表,如果省略该参数,数据的第一行作为键值;delimiter:文件中数据项的分隔字符,默认为逗号;restkey:如果数据列多于fieldnames项数,数据加到该健值下;restval:如果数据列小于fieldnames项数,补充缺项健对应的值;其他参数可参见对csv.reader()的参数说明。

本课件是可编辑的正常PPT课件

CSV

格式化数据的读写【实例1-02】使用

csv.dictreader()读取

CSV

文件,具体代码如下:

importcsv

withopen("f:/sf.csv","r")ascsvfile:

reader=csv.dictreader(csvfile)forlineinreader:print(line)程序输出结果:

{'学号':'1001','姓名':'李明','语文成绩':'89','数学成绩':'91','专业课成绩':'80'}

{'学号':'1002','姓名':'赵海','语文成绩':'85','数学成绩':'76','专业课成绩':'75'}

{'学号':'1003','姓名':'王中平','语文成绩':'76','数学成绩':'89','专业课成绩':'91'}

{'学号':'1004','姓名':'博林','语文成绩':'82','数学成绩':'85','专业课成绩':'79'}

{'学号':'1005','姓名':'昊古','语文成绩':'69','数学成绩':'92','专业课成绩':'88'}本课件是可编辑的正常PPT课件

CSV

格式化数据的读写程序说明:程序以只读模式打开CSV文件,用csv.DictReader()读取文件数据,并将数据转换为字典类型,其中文件首行数据作为字典的键。当用该方式读取文件内容时,首行一般是标题行,各字段分别作为字典数据的健,再逐行读取值,构成字典数据对象。如果CSV

文件中不含有标题信息,在读取数据时,可以指定参数fieldnames,设定键值,再读取数据。本课件是可编辑的正常PPT课件

CSV

格式化数据的读写4.使用CSV模块写文件内容

(1)csv.writer()函数写

CSV

文件其语法格式为:writer(csvfile:SupportsWrite[str],

dialect:str|Dialect|Type[Dialect]=...,delimiter:str=...,quotechar:str|None=...,escapechar:str|None=...,doublequote:bool=...,skipinitialspace:bool=...,lineterminator:str=...,quoting:int=...,strict:bool=...)csv.writer()函数中常用参数所表示的含义如下。csvfile:支持文件写操作的文件对象;其他参数参见csv.reader()的参数说明。本课件是可编辑的正常PPT课件

CSV

格式化数据的读写【实例1-03】使用

csv.writer(

)写

CSV

文件,具体代码如下:

importcsvsfile="test1.csv"title=['TA',’TB','TC','TD','TE']D1=[11,12,13,14,15]D2=[21,22,23,24,25]

withopen(sfile,'w',encoding='utf-8',newline='')ascsvfile:writer=csv.writer(csvfile)writer.writerow(title)writer.writerow(D1)writer.writerow(D2)程序说明:程序以open()函数打开文件进行写操作,注意参数newline,设置为空字符串,

如果该参数采用默认值,在特定环境下,会在生成文件的各行间插入空行,这不是所期望的结果,或者在csv.writer()中设置参数lineterminator=’\n’。writerow()方法每次向文件写入一行数据,使用writerows()方法也可以一次写入多行数据,如:…lstData=[D1,

D2] #嵌套列表writer.writerows(lstData) #列表lstData

中的每个元素作为一行写入文件本课件是可编辑的正常PPT课件

CSV

格式化数据的读写(2)类csv.DictWriter()写CSV

文件,其语法格式为:

DictWriter( f:SupportsWrite[str],fieldnames:Collection[_T],restval:Any|None=...,extrasaction:Literal["raise","ignore"]=...,dialect:Any=...,*,delimiter:str=...,quotechar:str|None=...,escapechar:str|None=...,doublequote:bool=...,skipinitialspace:bool=...,lineterminator:str=...,quoting:Any=...,strict:bool=...)本课件是可编辑的正常PPT课件

CSV

格式化数据的读写该类中常用参数所表示的含义如下。

f:支持读取的文件对象或数据列表,必须参数;

fieldnames:字典健列表,如果省略该参数,数据的第一行作为键值;delimiter:文件中数据项的分隔字符,默认为逗号;restkey:如果数据列多于fieldnames项数,数据加到该健值下;restval:如果数据列小于fieldnames项数,补充缺项健对应的值;其他参数可参见对csv.reader()的参数说明。

【实例1-02】使用

csv.dictreader()读取

CSV

文件,具体代码如下:

importcsv

withopen("f:/sf.csv","r")ascsvfile:

reader=csv.dictreader(csvfile)forlineinreader:print(line)本课件是可编辑的正常PPT课件

CSV

格式化数据的读写程序输出结果:

{'学号':'1001','姓名':'李明','语文成绩':'89','数学成绩':'91','专业课成绩':'80'}

{'学号':'1002','姓名':'赵海','语文成绩':'85','数学成绩':'76','专业课成绩':'75'}

{'学号':'1003','姓名':'王中平','语文成绩':'76','数学成绩':'89','专业课成绩':'91'}

{'学号':'1004','姓名':'博林','语文成绩':'82','数学成绩':'85','专业课成绩':'79'}

{'学号':'1005','姓名':'昊古','语文成绩':'69','数学成绩':'92','专业课成绩':'88'}

程序说明:程序以只读模式打开CSV文件,用csv.DictReader()读取文件数据,并将数据转换为字典类型,其中文件首行数据作为字典的键。当用该方式读取文件内容时,首行一般是标题行,各字段分别作为字典数据的健,再逐行读取值,构成字典数据对象。如果CSV

文件中不含有标题信息,在读取数据时,可以指定参数fieldnames,设定键值,再读取数据。本课件是可编辑的正常PPT课件

CSV

格式化数据的读写4.使用CSV模块写文件内容(1)csv.writer()函数写

CSV

文件其语法格式为:

writer(csvfile:SupportsWrite[str],dialect:str|Dialect|Type[Dialect]=...,delimiter:str=...,quotechar:str|None=...,escapechar:str|None=...,doublequote:bool=...,skipinitialspace:bool=...,lineterminator:str=...,quoting:int=...,strict:bool=...)csv.writer()函数中常用参数所表示的含义如下。csvfile:支持文件写操作的文件对象;其他参数参见csv.reader()的参数说明。本课件是可编辑的正常PPT课件

CSV

格式化数据的读写【实例1-03】使用

csv.writer(

)写

CSV

文件,具体代码如下:importcsvsfile="test1.csv"title=['TA',’TB','TC','TD','TE']D1=[11,12,13,14,15]D2=[21,22,23,24,25]withopen(sfile,'w',encoding='utf-8',newline='')ascsvfile:writer=csv.writer(csvfile)writer.writerow(title)writer.writerow(D1)writer.writerow(D2)程序说明:程序以open()函数打开文件进行写操作,注意参数newline,设置为空字符串,

如果该参数采用默认值,在特定环境下,会在生成文件的各行间插入空行,这不是所期望的结果,或者在csv.writer()中设置参数lineterminator=’\n’。writerow()方法每次向文件写入一行数据,使用writerows()方法也可以一次写入多行数据,如:…

lstData=[D1,

D2] #嵌套列表

writer.writerows(lstData) #列表lstData

中的每个元素作为一行写入文件本课件是可编辑的正常PPT课件

CSV

格式化数据的读写(2)类csv.DictWriter()写CSV

文件,其语法格式为:DictWriter( f:SupportsWrite[str],

fieldnames:Collection[_T],restval:Any|None=...,extrasaction:Literal["raise","ignore"]=...,dialect:Any=...,*,delimiter:str=...,quotechar:str|None=...,escapechar:str|None=...,doublequote:bool=...,skipinitialspace:bool=...,lineterminator:str=...,quoting:Any=...,strict:bool=...)本课件是可编辑的正常PPT课件

CSV

格式化数据的读写该方法中常用参数所表示的含义如下。

f:必选参数,支持写操作的文件对象;

fieldnames:必选参数,用于表示字典中值写入文件f的顺序;

restval:如果字典中缺少fieldnames的键,则用该参数的值写入文件;

extrsaction:参数取值“raise”(默认值)或“ignore”,如果传递给writerow()方法的字典没有fieldnames对应的键,则按extraxaction参数指示操作:“raise”会引发ValueError异常,如果为“ignore”,则忽略。其他参数参见对csv.reader()的参数说明。

本课件是可编辑的正常PPT课件

CSV

格式化数据的读写【实例1-

04】使用

csv.DictWriter(

)写

CSV

文件,具体代码如下:

importcsv

title=['TA','TB','TC','TD','TE']

D1={'TA':11,'TB':12,'TC':13,'TD':14,

'TE':15}

D2={'TA':21,'TB':22,'TC':23,'TD':24,

'TE':25}

withopen("f:/csv2.csv",'w',encoding='utf8',newline='')aswcsvfile:writer=csv.DictWriter(wcsvfile,fieldnames=title)writer.writeheader() #写入标题行writer.writerow(D1)writer.writerow(D2)本课件是可编辑的正常PPT课件

CSV

格式化数据的读写csv2.csv文件内容在Excel中的显示如图1-4所示说明:程序通过csv模块的writeheader()方法,将列表对象title的各元素写入文件首行,作为标题字段,title列表中各元素恰与字典对象D1、D2的键相匹配,再使用writerow()方法将字典对象D1、D2写入文件,写入过程中会自动根据键值进行匹配。如果数据行数较多,也可以用writerows()函数批量写入多行数据,如:…

lstData=[D1,

D2] #嵌套列表

writer.writerows(lstData) #列表lstData

中的每个元素作为一行写入文件本课件是可编辑的正常PPT课件使用Numpy

模块读写CSV

文件Numpy模块提供了函数savetxt()和loadtxt(),可以对文本文件进行读写操作。

numpy.savetxt()函数支持将一维或二维数组保存到文本文件,numpy.loadtxt()函数可以从文本文件中读取数据到一维或二维数组中,因为CSV文件本质上也是文本文件,所以可以利用这两个函数访问CSV类型文件。本课件是可编辑的正常PPT课件使用Numpy

模块读写CSV

文件savetxt()函数其语法格式为:

numpy.savetxt(fname:Any,X:Any,fmt:...=...,delimiter:...=...,encoding:...=...)savetxt()函数中常用参数所表示的含义如下。fname:文件名或文件句柄。X:一维或二维数组对象。fmt:可选参数,设置数据写入格式,如%f、%d、%1.2e等。delimiter:可选参数,设置数据分隔符,默认为空格。encoding:可选参数,设置文件编码方式。本课件是可编辑的正常PPT课件使用Numpy

模块读写CSV

文件【实例1-05】Numpy

CSV

文件示例,具体代码如下:

import numpy as np

x=y=z=np.arange(0,5,1)z=x+yy=(x,z)

np.savetxt('test1.csv',y,delimiter=',',fmt='%3d')np.savetxt('test2.csv',z,fmt='%1.2e')程序输出结果,test1.csv内容为:

0, 1, 2, 3, 4

0, 2, 4, 6, 8

程序输出结果,test2.csv内容为:

0.00e+00

2.00e+00

4.00e+00

6.00e+00

8.00e+00本课件是可编辑的正常PPT课件使用Numpy

模块读写CSV

文件程序说明:变量y是一个二维数组,按2行5列写入test1.csv文件中,fmt='%3d'将数值设置为3位长度的整型,savetxt()默认是以空格分隔数据的,通过设置参数delimiter使数值间以逗号作为分隔符;变量z是一维数组,数值采用科学计数法表示,保留2位小数。CSV文件本质上是文本文件,使用numpy.savetxt()方法可以将一维或二维数组保存到CSV文件中。本课件是可编辑的正常PPT课件使用Numpy

模块读写CSV

文件loadtxt()函数其语法格式为:

numpy.loadtxt(fname:Any,dtype:...=...,delimiter:...=...,unpack:...=...,encoding:...=...)loadtxt()函数中常用参数所表示的含义如下。fname:文件名。

dtype:可选参数,数据类型。

delimiter:可选参数,数据分隔符,默认为空格。

unpack:可选参数,默认值为False,如果为真值,读取数据将写入不同变量。encoding:可选参数,编码格式。本课件是可编辑的正常PPT课件使用Numpy

模块读写CSV

文件【实例1-

06】Numpy

读取

CSV

文件,具体代码如下:

importnumpyasnpfin=np.loadtxt('test1.csv',delimiter=',',dtype=32,encoding='utf8')print(type(fin),'\n',fin)程序输出结果:

<class'numpy.ndarray'>[[0123

4][02468]]程序说明:通过numpy.loadtxt()读取CSV文件“test1.csv”,数据类型解析为32,读取的数据保存到一个ndarray对象中,完成后可以对读入的数据作进一步的处理。本课件是可编辑的正常PPT课件使用Pandas

模块读写CSV

文件Pandas提供了read_csv()函数,可以读取CSV文件,Pandas的Series对象和DataFrame对象有

to_csv()方法,可以把数据写入CSV文件。1.read_csv()函数其语法格式为:pandas.read_csv(filepath,delimiter,dtype,encoding)read_csv()函数中常用参数所表示的含义如下。filepath:文件名。delimiter:数据分隔符。encoding:编码格式。dtype:读入数据后转换的类型。

该函数返回Series、DataFrame或TextFileReader类型对象。定义文件test1.csv的内容如下:TA,TB,TC,TD,TE11,12,13,14,1521,22,23,24,25本课件是可编辑的正常PPT课件使用Pandas

模块读写CSV

文件【实例1-07】编写程序读取该文件,具体代码如下:

Importpandas aspdsfile=

'test1.csv'data=pd.read_csv(sfile,delimiter=',',encoding='utf-8')print(type(data),'\n',data)0 111213 14 151 212223 24 25程序输出结果:<class'pandas.core.frame.DataFrame'>TA TB TC TD TE程序说明:程序通过pandas.read_csv()函数读取文件数据,返回一个2行5列的二维数组,保存在一个DataFrame对象中。本课件是可编辑的正常PPT课件使用Pandas

模块读写CSV

文件2.to_csv()函数其语法格式为:pandas.DataFrame.to_csv(path_or_buf,index,header)to_csv()函数中常用参数所表示的含义如下。path_or_buf:文件名或WriteBuffer[bytes|str]。

index:布尔值,是否写入行索引,默认值

为True,写入行索引。header:布尔值,是否写入列索引,默认值为True,写入列索引。

本课件是可编辑的正常PPT课件使用Pandas

模块读写CSV

文件【实例1-08】在上面程序的基础上,将读取的数据写入另一个

CSV

文件中,具体代码如下:importpandasaspdsfile='test1.csv'data=pd.read_csv(sfile,delimiter=',',encoding='utf-8')print(type(data),'\n',data)data.to_csv('test2.csv',index=False) #数组写入csv

文件程序说明:read_csv()返回一个

DataFrame对象,该对象的to_csv()方法将数据写入文件

test2.csv中,为了不保存行索引,index参数设置为False,如果不保存列索引号,则header参数也要设置为False。通过read_csv()函数和数据对象的to_csv()方法,实现了Pandas与CSV文件间的数据交换,它们还提供了更多的参数设置,可以实现丰富的功能本课件是可编辑的正常PPT课件XML文件读写1.3.1XML

文件类型XML:可扩展的标记语言(ExtensibleMarkupLanguage),是一种用于标记电子文件,是具有结构性的标记语言。它可以用来标记数据、定义数据类型,是比较友好的数据承载方式。XML文件结构简单清晰,不仅便于在不同的应用程序间交换数据,也可以在不同的系统平台间进行信息的传递。

本课件是可编辑的正常PPT课件XML文件读写一个典型的XML文件通常由文件序言和文件主体两部分组成,如:

<?xmlversion="1.0"encoding="utf-8"standalone="yes"?>

<Settings>

<!--人员记录-->

<Personcategory="COOKING">

<Name>王伟</Name>

<Sex>男</Sex>

</Person>

</Settings>本课件是可编辑的正常PPT课件XML文件读写文件第一行<?…?>是文件序言部分,也称为处理指令,其中xml为XML声明,version为文档符合的规范,encoding为文档字符编码,standalone表示文档在这一个文件里是否独立于外部资源。文件第二行开始为文件主体部分,由根元素包裹,内含元素、数据、注释等。其中元素是以<…>开始,中间含数据内容,以</…>结束;注释是使用<!--…-->设置;属性可以在元素名里添加,属性名=“属性值”,多个属性间用空格分隔,可以参考上例中的category属性设置。XML元素标记区分英文大小写,可以包含英文字母或数字,但不能以数字或下画线开头,不能用xml开头,不能包含空格或冒号。本课件是可编辑的正常PPT课件解析XML

文件Python模块xml.etree.ElementTree可以用于解析和创建XML数据,类ElementTree将XML表示成一棵树,类Element表示各节点(元素)。一般对树的遍历,首先需要找到根节点,再依次遍历各子节点信息,如节点的标签名称、属性、文本等。可以通过Element.append()方法添加新节点,通过Element.clear()方法删除节点,通过ElementTree.write()方法保存数据到XML文件中。本课件是可编辑的正常PPT课件解析XML

文件【实例1-09】读取XML文件,并创建新的XML文件,具体代码如下:

importxml.etree.ElementTreeasETxmlfile="test.xml"tree=ET.parse(xmlfile) #打开一个

XML

文档root=tree.getroot() #获取

XML

根节点print(root.tag,root.attrib) #显示根节点标签及属性forchild

in

root: #遍历各子节点forkinchild:

print(k.text,k.tag,k.attrib) #显示各子节点的文本、标签、属性信息forname

in

root.iter('Name'): #遍历

Name

节点信息print(name.tag,name.attrib)tree.write("test_bak.xml",encoding='utf-8',xml_declaration=True)#将内存中的树写入一个XML文件程序输出结果:

Settings{}

王伟Name{}

男Sex{}

Name{}

程序说明:第1行Settings为根节点的标签,属性为空(输出空字典);第2、3行输出各子

节点的文本、标签、属性值;第4行输出所有“Name”节点的标签及属性。本课件是可编辑的正常PPT课件解析XML

文件【实例1-10】生成

test_bak.xml

文件,具体代码如下:<?xmlversion='1.0'encoding='utf-8'?>

<Settings>

<Personcategory="COOKING">

<Name>王伟</Name>

<Sex>男</Sex>

</Person>

</Settings>

程序说明:程序通过ElementTree类的parse方法打开一个XML文件,通过getroot()方法获取根节点,从根节点开始遍历各子节点相关信息,使用write()方法将树保存到一个XML文件中。本课件是可编辑的正常PPT课件JSON

格式化数据的读写

JSON(JavaScript

Object

Notation),是一种轻量级的数据交换格式,因采用完全独立的文本格式,方便阅读和编写,可以被多种编程语言解析使用,常见于Web

应用程序和移动应用程序等场景,被广泛应用于程序间的数据交换。JSON数据有两种构建方式:

“名称/值”对组成的集合(A

collection

of

name/value

pairs),类似Python

中的字典数据;如:学生信息有学号(1011)、姓名(小明)。JSON描述格式为:

{‘sno’:’1011’, ’name’:’小明’}

值的有序列表(An

ordered

list

of

values),在多数程序设计语言中理解为数组,类似Python

中的列表;本课件是可编辑的正常PPT课件JSON

格式化数据的读写

json

模块

Python提供了内置模块json来访问JSON格式数据,它提供了读取和写入JSON格式数据的方法,可以方便地操作JSON格式的数据。如有多个学生信息,JSON描述格式为:

[{‘sno’:’1011’,’name’:’小明’},{‘sno’:’1012’,’name’:’王海’},{‘sno’:’1013’,’name’:’李红’}]本课件是可编辑的正常PPT课件JSON

格式化数据的读写

1.4.2JSON

文件读取1.dumps()函数和loads()函数

在Python中,要将数据存储为JSON格式可以识别的数据类型,需要进行数据类型的转换,如Python中的list、tuple类型在JSON中以array表示,dict类型以object表示,这就需要一个序列化操作过程,json模块的dumps()函数可以完成Python数据序列化

为JSON格式的操作。dumps()函数的语法格式为:dumps(obj:Any,*,skipkeys:bool=False,ensure_ascii:bool=True,check_circular:bool=True,sort_keys:bool=False,) #返回值,字符串本课件是可编辑的正常PPT课件JSON

格式化数据的读写

dumps()函数中常用参数所表示的含义如下。

skipkeys:若为真,将跳过不是基本类型(str、int、float、bool、None)的dict键,而不是引发

TypeError。

ensure_ascii:当obj中有非ASCII字符时,如果该参数为false,这些字符可以包含在结果字符串中;如果该参数为真,则这些字符将在JSON字符串中转义。check_circular:循环引用检测。sort_keys:逻辑值,输出是否按键进行排序。本课件是可编辑的正常PPT课件JSON

格式化数据的读写

【实例1-11】dumps()函数使用示例,具体代码如下:importjsondata=[{'sno':'1011',

'name':'小明’}

,

{'sno':'1012',

'name':'王海’}

,

{'sno':'1013',

'name':'李红'}

]strjson1=json.dumps(data) #默认中文将进行转义print(strjson1)strjson2=json.dumps(data,sort_keys=True,

ensure_ascii=False)

#包含中文,按键排序print(strjson2)程序输出结果:

[{"sno":"1011","name":"\u5c0f\u660e"},{"sno":"1012","name":"\u738b\u6d77"},{"sno":"1013","name":"\u674e\u7ea2"}][{"name":"小明","sno":"1011"},{"name":"王海","sno":"1012"},{"name":"李红","sno":"1013"}]程序说明:通过json.dumps()函数将Python列表数据data序列化为JSON格式,并通过dumps()

函数的参数设置,改变序列化后的形式。本课件是可编辑的正常PPT课件JSON

格式化数据的读写

【实例1-12】loads()函数使用示例。json模块还提供反序列化函数loads(),功能是将JSON格式的数据反序列化为Python格式数据,是dumps()函数的逆向操作,具体代码如下:import jsondata=[{'sno':'1011','name':'小明'},{'sno':'1012','name':'王海'},{'sno':'1013','name':'李红'}]strjson=json.dumps(data,sort_keys=True,ensure_ascii=False)print(strjson)str1=json.loads(strjson)print(type(str1),'\n',str1)程序输出结果:[{"name":"小明","sno":"1011"},{"name":"王海","sno":"1012"},{"name":"李红","sno":"1013"}]<class'list'>[{'name':'小明','sno':'1011'},{'name':'王海','sno':'1012'},{'name':'李红','sno':'1013'}]程序说明:json.dumps()函数将数据data序列化为JSON格式数据strjson,再通过json.loads()函数进行反序列化,转换为Python的list数据类型。上面两个例子在调用dumps()函数时,ensure_ascii参数设置不同的值,序列化后的结果字符串对中文的表示是不一样的。本课件是可编辑的正常PPT课件JSON

格式化数据的读写

1.dump()函数和load()函数json.dumps()函数和json.loads()函数可以实现Python数据与JSON数据间的格式转化,如何实现Python直接访问JSON文件呢?json模块提供了json.dump()和json.load()两个函数,前者将Python数据以JSON格式写入JSON文件中,后者读取JSON文件并转化为Python格式。json.dump()函数的语法格式为:dump(obj:Any,fp:SupportsWrite[str],*,skipkeys:bool=False,ensure_ascii:bool=True,check_circular:bool=True,sort_keys:bool=False,)dump()函数的参数与dumps()函数的参数基本一致,其中fp参数为文件对象,是将序列化后的数据流写入fp文件中,fp文件要支持写入操作。

json.load(fp)函数读取

fp

文件并反序列化为Python

格式数据。本课件是可编辑的正常PPT课件JSON

格式化数据的读写

【实例1-13】dump()函数、load()函数使用示例。具体代码如下:importjsondata=[{'sno':'1011','name':'小明'},{'sno':'1012','name':'王海'},{'sno':'1013','name':'李红'}]withopen('data.json','w')asfpw:json.dump(data,fpw,ensure_ascii=False) #将数据写入json

文件withopen('data.json','r')asfpr:str1=json.load(fpr) #读取json

文件数据print(type(str1),'\n',str1)程序输出结果:

<class'list'>

[{'sno':'1011','name':'小明'},{'sno':'1012','name':'王海'},{'sno':'1013','name':'李红'}]程序说明:程序创建data.json文件,json.dump()函数将data数据序列化为JSON格式并写入data.json文件中,json.load()读取data.json文件,并反序列化为列表类型,最后打印输出。本课件是可编辑的正常PPT课件Excel

格式化数据的读写5.1使用xlrd

和xlwt

模块读写Excel

文件Excel是比较常用的电子表格软件,Python具有多个可以访问Excel文件功能的模块,其中以xlrd和xlwt两个模块应用最为广泛,它们可以实现对Excel文件的读、写操作。xlrd

模块

xlrd模块支持.xls文件的读取功能,不支持写入操作。xlrd是一个第三方模块,需要安装后才可以导入使用,安装可以使用pip命令,如:pip install xlrd本课件是可编辑的正常PPT课件Excel

格式化数据的读写xlrd

模块的使用(1)打开Excel

文件workbook=xlrd.open_workbook(文件名)names=workbook.sheet_names() #工作表名称列表workbook.sheet_loaded(索引) #指定索引的工作表是否导入完毕,返回逻辑值(2)获取工作表

sheet

=

workbook.sheets()[表索引] #按索引打开工作表sheet

=

workbook.sheet_by_index(表索引) #按索引打开工作表sheet

=workbook.sheet_by_name(表名称)

#按名称打开工作表 #返回工作表名称本课件是可编辑的正常PPT课件Excel

格式化数据的读写(3)工作表行操作sheet.nrows #返回工作表行数sheet.row(行索引) #返回由指定行所有单元格对象组成的列表sheet.row_slice(行索引) #返回由指定行所有单元格对象组成的列表sheet.row_types(row,start_col=0,

end_col=None) #返回由该行中指定单元格的数据类型组成的列表sheet.row_values(row,start_col=0,end_col=None) #返回由该行中指定单元格的数据组成的列表sheet.row_len(行索引) #返回指定行有效单元格个数(4)工作表列操作

sheet.ncols #返回工作表列数

sheet.col(col,

start_row=0,

end_row=None) #返回该列中指定单元格对象组成的列表sheet.col_slice(col,start_row=0,

end_row=None) #返回该列中指定单元格对象组成的列表sheet.col_types(col,start_row=0,

end_row=None) #返回该列中指定单元格数据类型组成的列表

sheet.col_values(col,start_row=0,

end_row=None) #返回该列中指定单元格数据组成的列表本课件是可编辑的正常PPT课件Excel

格式化数据的读写(5)单元格的操作

sheet.cell(行索引,

列索引) #返回指定单元格对象sheet.cell_type(行索引,

列索引) #返回指定单元格数据类型sheet.cell_value(行索引,

列索引) #返回指定单元格数据本课件是可编辑的正常PPT课件Excel

格式化数据的读写【实例1-14】xlrd

模块读取

Excel

文件示例。具体代码如下:

import xlrdworkbook=xlrd.open_workbook("d:/技师鉴定报名表.xls")names=workbook.sheet_names()print(names)sheet=workbook.sheet_by_name('Sheet1’)print(sheet.nrows)print(sheet.ncols) print(sheet.row(0)) print(sheet.col_values(1,1,7)) print(sheet.cell(1,1))print(sheet.cell_value(1,1))本课件是可编辑的正常PPT课件Excel

格式化数据的读写

首字母是大写还是小写?xlwt

模块xlwt模块支持.xls文件的写入操作,不支持读取操作。与xlrd相类似,xlwt也是一个第三方模块,需要安装后才可以导入使用,可以使用pip命令安装,如:pip install xlwtxlwt

模块的使用(1)创建.xls

文件具体代码如下:import xlwtworkbook

=

xlwt.Workbook(encoding=’ascii’) #创建工作簿worksheet

=

workbook.add_sheet(“Sheet1”) #创建工作表worksheet.write(0, 0, ’1行

1列’) #在第1行、第1列单元格写入内容workbook.save(“D:/newExcel.xls”) #保存

Excel

文件本课件是可编辑的正常PPT课件Excel

格式化数据的读写

首(2)设置列宽

xlwt中列宽值的表示是以默认字体0的1/256为基本单位的,即1字符宽度值为256,2字符宽度值为256×2,如:worksheet.col(0).width=256*30 #设置列宽为30运行结果如图1-5所示。

图1-5

运行结果本课件是可编辑的正常PPT课件Excel

格式化数据的读写(3)设置行高xlwt没有设置行高的方法,可以通过设置字体高度设置行高。style=

xlwt.easyxf(‘font:height

360;’) #18pt#row=

sheet.row(0)#row.set_style(style) #注释掉的语句也可实现类似功能worksheet.row(0).set_style(style) #设置第1行高度(4)单元格合并worksheet.write_merge(2,

3,

0,

3,

”合并

3、4

行-1、4

列”) 本课件是可编辑的正常PPT课件Excel

格式化数据的读写(5)设置字体样式style=xlwt.XFStyle()font=xlwt.Font()

=

“黑体” #设置字体名称font.bold=True #字体加粗font.italic=True #设置斜体font.underline=True #设置下画线font.colour_index=2 #设置字体颜色style.font=fontworksheet.write(1, 0, ”2行

1列”, style) (6)添加单元格边框borders=xlwt.Borders()#设置单元格四

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论