您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > Python > 等考二级python-第6章-文件和数据格式化
全国计算机等级考试二级教程Python语言程序设计(2018年版)【第6章】文件和数据格式化文件的使用:文件打开、关闭和读写数据组织的维度:一维数据和二维数据一维数据的处理:表示、存储和处理二维数据的处理:表示、存储和处理采用CSV格式对一二维数据文件的读写考纲考点知识导图文件的使用文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容。概念上,文件是数据的集合和抽象。文件包括两种类型:文本文件和二进制文件。文件文本文件一般由单一特定编码的字符组成,如UTF-8编码,内容容易统一展示和阅读。二进制文件直接由比特0和比特1组成,文件内部数据的组织格式与文件用途有关。二进制是信息按照非字符但特定格式形成的文件,例如,png格式的图片文件、avi格式的视频文件。文件的类型二进制文件和文本文件最主要的区别在于是否有统一的字符编码。无论文件创建为文本文件或者二进制文件,都可以用“文本文件方式”和“二进制文件方式”打开,但打开后的操作不同。文件的类型123f=open(a.txt,rt)#t表示文本文件方式print(f.readline())f.close()全国计算机等级考试文本文件a.txt,采用二进制方式打开采用文本方式读入文件,文件经过编码形成字符串,打印出有含义的字符;采用二进制方式打开文件,文件被解析为字节流。文件的类型123f=open(“a.txt”,“rb”)#b表示二进制文件方式print(f.readline())f.close()b'\xc8\xab\xb9\xfa\xbc\xc6\xcb\xe3\xbb\xfa\xb5\xc8\xbc\xb6\xbf\xbc\xca\xd4'Python对文本文件和二进制文件采用统一的操作步骤,即“打开-操作-关闭”文件的打开和关闭Python通过open()函数打开一个文件,并返回一个操作这个文件的变量,语法形式如下:变量名=open(文件路径及文件名,打开模式)文件的打开和关闭打开模式含义'r'只读模式,如果文件不存在,返回异常FileNotFoundError,默认值'w'覆盖写模式,文件不存在则创建,存在则完全覆盖源文件'x'创建写模式,文件不存在则创建,存在则返回异常FileExistsError'a'追加写模式,文件不存在则创建,存在则在原文件最后追加内容'b'二进制文件模式't'文本文件模式,默认值'+'与r/w/x/a一同使用,在原功能基础上增加同时读写功能打开模式使用字符串方式表示,根据字符串定义,单引号或者双引号均可。上述打开模式中,'r'、'w'、'x'、'b'可以和'b'、't'、'+'组合使用,形成既表达读写又表达文件模式的方式。文件的打开和关闭文件使用结束后要用close()方法关闭,释放文件的使用授权,语法形式如下:变量名.close()文件的打开和关闭新建一个文本文件a.txt,其内容为“全国计算机等级考试”,保存在目录PATH中,假设此时路径PATH是Windows系统的D盘根目录。打开并关闭该文件的操作过程如下。文件的打开和关闭PATH=D:\\f=open(PATH+a.txt,rt)print(f.readline())国家计算机等级考试f.close()print(f.readline())Traceback(mostrecentcalllast):Filepyshell#81,line1,inmoduleprint(f.readline())ValueError:I/Ooperationonclosedfile.根据打开方式不同,文件读写也会根据文本文件或二进制打开方式有所不同。文件的读写方法含义f.read(size=-1)从文件中读入整个文件内容。参数可选,如果给出,读入前size长度的字符串或字节流f.readline(size=-1)从文件中读入一行内容。参数可选,如果给出,读入该行前size长度的字符串或字节流f.readlines(hint=-1)从文件中读入所有行,以每行为元素形成一个列表。参数可选,如果给出,读入hint行f.seek(offset)改变当前文件操作指针的位置,offset的值:0:文件开头;2:文件结尾如果文件不大,可以一次性将文件内容读入,保存到程序内部变量中。f.read()是最常用的一次性读入文件的函数,其结果是一个字符串。文件的读写f=open(D://b.txt,r)s=f.read()print(s)新年都未有芳华,二月初惊见草芽。白雪却嫌春色晚,故穿庭树作飞花。f.close()f.readlines()也是一次性读入文件的函数,其结果是一个列表,每个元素是文件的一行。文件的读写f=open(D://b.txt,r)ls=f.readlines()print(ls)['新年都未有芳华,二月初惊见草芽。\n','白雪却嫌春色晚,故穿庭树作飞花。\n']f.close()文件打开后,对文件的读写有一个读取指针,当从文件中读入内容后,读取指针将向前进,再次读取的内容将从指针的新位置开始。文件的读写f=open(D://b.txt,r)s=f.read()print(s)新年都未有芳华,二月初惊见草芽。白雪却嫌春色晚,故穿庭树作飞花。ls=f.readlines()print(ls)[]f.close()结合读取指针理解,上述代码中ls返回值为空,因为之前f.read()方法已经读取了文件全部内容,读取指针在文件末尾,再次调用f.readlines()方法已经无法从当前读取指针读入内容,因此返回结果为空。文件的读写f.seek()方法能够移动读取指针的位置,f.seek(0)将读取指针移动到文件开头,f.seek(2)将读取指针移动到文件结尾。文件的读写f=open(D://b.txt,r)s=f.read()print(s)新年都未有芳华,二月初惊见草芽。白雪却嫌春色晚,故穿庭树作飞花。f.seek(0)#将读取指针重置到文件开头ls=f.readlines()print(ls)['新年都未有芳华,二月初惊见草芽。\n','白雪却嫌春色晚,故穿庭树作飞花。\n']f.close()从文本文件中逐行读入内容并进行处理是一个基本的文件操作需求。文本文件可以看成是由行组成的组合类型,因此,可以使用遍历循环逐行遍历文件,使用方法如下:f=open(文件路径及名称,r)forlineinf:#处理一行数据f.close()文件的读写文件的读写1234f=open(D://b.txt,r)forlineinf:print(line)f.close()新年都未有芳华,二月初惊见草芽。白雪却嫌春色晚,故穿庭树作飞花。文件的读写f=open(D://c.txt,w)f.write('新年都未有芳华\n')f.write('二月初惊见草芽\n')f.write('白雪却嫌春色晚\n')f.write('故穿庭树作飞花\n')f.close()方法含义f.write(s)向文件写入一个字符串或字节流f.writelines(lines)将一个元素为字符串的列表写入文件f.write(s)向文件写入字符串s,每次写入后,将会记录一个写入指针。该方法可以反复调用,将在写入指针后分批写入内容,直至文件被关闭。文件的读写上述语句运行后将在D盘目录下生成一个文件c.txt,内容如下。使用f.write(s)时,要显式的使用'\n'对写入文本进行分行,如果不进行分行,每次写入的字符串会被连接起来。新年都未有芳华二月初惊见草芽白雪却嫌春色晚故穿庭树作飞花文件的读写f.writelines(lines)直接将列表类型的各元素连接起来写入文件f。ls=['新年都未有芳华\n','二月初惊见草芽\n','白雪却嫌春色晚\n','故穿庭树作飞花\n']f=open(D://c.txt,w)f.writelines(ls)f.close()数据组织的维度数据组织的维度一组数据在被计算机处理前需要进行一定的组织,表明数据之间的基本关系和逻辑,进而形成“数据的维度”。根据数据的关系不同,数据组织可以分为:一维数据、二维数据和高维数据。一维数据一维数据由对等关系的有序或无序数据构成,采用线性方式组织,对应于数学中数组的概念。例如:中国的直辖市列表即可表示为一维数据,一维数据具有线性特点。北京、上海、天津、重庆二维数据二维数据,也称表格数据,由关联关系数据构成,采用二维表格方式组织,对应于数学中的矩阵,常见的表格都属于二维数据。例如:国家统计局发布的居民消费价格指数是二维数据二维数据指标2014年2015年2016年居民消费价格指数102101.4102食品103.1102.3104.6烟酒及用品99.4102.1101.5衣着102.4102.7101.4家庭设备用品101.2101100.5医疗保健和个人用品101.3102101.1交通和通信99.998.398.7娱乐教育文化101.9101.4101.6居住102100.7101.6每个数据为相比上年数据的标准值,即上年指标为100。高维数据高维数据由键值对类型的数据构成,采用对象方式组织,可以多层嵌套。高维数据在Web系统中十分常用,作为当今Internet组织内容的主要方式,高位数据衍生出HTML、XML、JSON等具体数据组织的语法结构。高维数据本书:[第1章:程序设计基本方法,第2章:Python语言基本语法元素,第3章:基本数据类型,第4章:程序的控制结构,第5章:函数和代码复用,第6章:组合数据类型,第7章:文件和数据格式化,第8章:Python计算生态,第9章:Python标准库概览,第10章:Python第三方库概览,第11章:Python第三方库纵览,第12章:考试指导,附录:附录1234567]一维数据的处理一维数据的表示一维数据是最简单的数据组织类型,由于是线性结构,在Python语言中主要采用列表形式表示。例如:中国的直辖市数据可以采用一个列表变量表示。ls=['北京','上海','天津','重庆']print(ls)['北京','上海','天津','重庆']一维数据的存储一维数据的文件存储有多种方式,总体思路是采用特殊字符分隔各数据。常用存储方法包括4种。(1)采用空格分隔元素,例如:北京上海天津重庆(2)采用逗号分隔元素,例如:北京,上海,天津,重庆一维数据的存储(3)采用换行分隔包括,例如:北京上海天津重庆(4)其他特殊符号分隔,以分号分隔为例,例如:北京;上海;天津;重庆一维数据的存储逗号分割的存储格式叫做CSV格式(Comma-SeparatedValues,即逗号分隔值),它是一种通用的、相对简单的文件格式,在商业和科学上广泛应用,大部分编辑器都支持直接读入或保存文件为CSV格式一维数据保存成CSV格式后,各元素采用逗号分隔,形成一行。从Python表示到数据存储,需要将列表对象输出为CSV格式以及将CSV格式读入成列表对象一维数据的存储列表对象输出为CSV格式文件方法如下,采用字符串的join()方法最为方便。1234ls=['北京','上海','天津','重庆']f=open(city.csv,w)f.write(,.join(ls)+\n)f.close()北京,上海,天津,重庆一维数据的处理对一维数据进行处理首先需要从CSV格式文件读入一维数据,并将其表示为列表对象。1234f=open(city.csv,r)ls=f.read().strip('\n').split(,)f.close()print(ls)['北京','上海','天津','重庆']二维数据的处
本文标题:等考二级python-第6章-文件和数据格式化
链接地址:https://www.777doc.com/doc-4041457 .html