版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7.1文件概述
7.2文件的打开与关闭
7.3文本文件的读写
7.4数据组织的维度及数据处理
7.5CSV文件的读写
第7章文件和数据格式化7.1文件概述1考纲考点文件的打开、关闭和读写(难度:⭐⭐)采用CSV格式对一二维数据的文件的读写。(难度:⭐⭐⭐)对一维数据和二维数据的表示、储存和处理(难度:⭐⭐⭐)2知识导图3open()函数用来打开文件。语法格式如下:file=open(filename[,access_mode[,buffering[,encoding]]])其中,file是open()函数返回的文件对象。参数filename是表示文件名的字符串,是必写参数,它可以是绝对路径,也可以是相对路径。Access_mode是指明文件类型和操作方式的字符串。buffering是控制缓冲,encoding设置编码格式,一般使用UTF-8。4模式描述r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式r+打开一个文件用于读写。文件指针将会放在文件的开头w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写Access_mode文件类型和操作方式5先用记事本创建一个文本文件,取名hello.txt。输入以下内容并保存在d:\python下。HelloMy
Python>>>myfile=open("d:\\python\\hello.txt",'r')。
>>>print(myfile)<io.TextIOWrapper
name='d:\\python\\hello.txt'mode='r'encoding='cp936'>
>>>myfile.close()open()文件打开函数,close()文件关闭函数6>>>myfile=open("d:\\python\\hello.txt",'r')>>>fileContent=myfile.read()>>>myfile.close()>>>print(fileContent)输出结果:Hello!MyPython!>>>withopen("d:\\python\\hello.txt",'r')
as
fp:>>>fileContent=fp.read(5)>>>fp.close()>>>print(fileContent)输出结果:Helloread()文本文件读取函数7>>>myfile=open("d:\\python\\hello.txt",'w')>>>myfile.write("Thisisthefirstline.\nThisis
thesecondline.\n")>>>myfile.close()>>>myfile=open("d:\\python\\hello.txt",'r')>>>fileContent=myfile.read()>>>myfile.close()>>>print(fileContent)输出结果:This
is
thefirst
lineThis
is
thesecondline当以写模式打开文件hello.txt时,文件原有内容被清空,调用write()方法将字符串参数写入文件,这里'\n'代表换行符。关闭文件后,再次用读模式打开文件读取内容并输出,共有两行字符串。write()文本文件写入函数8seek()函数是将文件当前指针由引用点移动指定的字节数到指定的位置,即设置新的文件当前位置,允许在文件中移动指针,实现对文件的随机访问。语法格式如下:seek(offset[,whence])seek()函数有两个参数:第一个参数offset是字节数,表示偏移量;第二个参数whence是引用点,有如下3个取值:1.0,表示文件开始处,默认值,意味着使用该文件的开始处作为基准位置,此时字节偏移量必须为正。2.1,表示文件当前位置,意味着使用该文件的当前位置作为基准位置,此时字节偏移量可以为负。3.2,表示文件结尾,即该文件的末尾将作为基准位置。在默认情况下,文件的读/写都是从文件的开始位置进行。
seek()文件内移动函数9>>>myfile=open("d:\\python\\hello.txt","r")>>>myfile.seek(2,0)>>>filecontent=myfile.read(5)>>>print(filecontent)输出结果:isis
代码如下:importjieba#导入结巴库txt=open("D:\\python\\二十大报告.txt","r",encoding='utf-8').read()words=jieba.cut(txt)#使用精确模式对文本进行分词counts={}#通过键值对的形式存储词语及其出现的次数forwordinwords:iflen(word)==1:#单个词语不计算在内continueelse:counts[word]=counts.get(word,0)+1#遍历所有词语,每出现一次其对应的值加1items=list(counts.items())#将键值对转换成列表items.sort(key=lambdax:x[1],reverse=True)#根据词语出现的次数进行从大到小排序foriinrange(15):word,count=items[i]print("{0:<5}{1:>5}".format(word,count))例读取文本文件*.txt,对文本文件的内容进行词频统计。文本文件内容可以从网络上获取,比如《习近平在中国共产党第二十次全国代表大会上作报告》,保存文本文件为“二十大报告.txt”。
文本文件处理jieba库10例求数组元素平均值。#coding:utf-8a=[1,4,8,10,12]b=len(a)sum=0print("数组长度为:",b)foriina:sum=sum+iprint("均值为",sum/b)程序运行结果为:一维数据的表示、存储7例:从空格分隔的文件中读入数据。f=open("D:\\python\\f.txt","r",encoding="UTF-8")txt=f.read()print(txt)ls=txt.split()print(ls)f.close()程序运行结果为:一维数据的读入处理.split()7例从特殊符号分割的文件中读入数据。f=open("D:\\python\\f.txt","r",encoding="UTF-8")txt=f.read()print(txt)ls=txt.split("$")print(ls)f.close()程序运行结果为:一维数据的读入处理.split()7例采用空格分隔方式将数据写入文件。代码如下:#coding:utf-8ls=["中国","美国","日本"]f=open("D:\\python\\f.txt","w",encoding="UTF-8")f.write("".join(ls))f.close()程序运行后,f.txt文件内容为:一维数据的写入处理.join()7二维数据的表示列表类型可以表达二维数据,使用二维列表Ls=[[3.23,3.12,3.33],[3.14,3.04,3.12]]使用两层for循环遍历每个元素,外层列表中每个元素可以对应一行,也可以对应一列。例二层循环处理>>>ls=[[1,2],[3,4],[5,6]]>>>forrowinls:>>>forcolumninrow:>>>print(column)程序运行结果为:二维数据的表示、存储7CSV(逗号分隔符)文件是一种用来存储表格数据(数字和文本)的纯文本文件,通常用于存放电子表格或数据的一种文件格式。纯文本意味着该文件是一个字符序列,不包含必须像二进制数据那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。CSV文件可以比较方便地在不同应用之间交换数据,可以将数据批量导出为CSV格式,然后导人到其他应用程序中。很多应用中需要导出报表,通常采用CSV格式,然后用Excel工具进行后续编辑。如下所示是一个CSV文件内容。山东齐河县,时传祥,男,1915-1975,掏粪工人甘肃玉门县,王进喜,男,1923-1970,石油工人山西平顺县,申纪兰,女,1920-2020,农民河南南召县,王永民,男,1943-,计算机专家安徽怀宁县,邓稼先,男,1924-1986,核物理学家CSV文件简介7例读取CSV文件并输出内容。把7.5.1中所示的CSV文件内容保存为文件名为D盘python文件夹下“全国劳动模范.csv”的CSV文件,从该文件中读取数据并显示出来。代码如下:import
csvfilename="d:\\python\\全国劳动模范.csv"
#使用open()函数打开文件,如果该文件不存在,则报错with
open(filename,'r',encoding=’utf-8’)
as
mycsvfile:
#使用reader()方法读整个CSV文件到一个列表对象中lines=csv.reader(mycsvfile)#通过遍历每个列表元素,输出数据forline
in
lines:
print(line)程序运行结果为:读取CSV文件7例写入CSV文件。实例代码如下:#coding:utf-8importcsv mylist=[["809040101","陈晓","女","1996/12/23","电子信息"],["809040103","崔元","男","1996/12/25","计算机科学与技术"]]filename="d:\\python\\filecsv2.csv"#使用open()函数打开文件,如果该文件不存在,则创建它withopen(filename,'w',newline='')asmycsvfile:#newline=''可以防止写入空行myWriter=csv.writer(mycsvfile)#创建CSV文件写对象
#调用writerow方法,一次写一行,参数必须是一个列表myWriter.writerow(["809040106","段天峰","男","1997/2/14","电子信息"])#也可以调用writerows方法,一次写入一个列表myWriter.writerows(mylist)程序运行结果为:
写入CSV文件71.二维数据的读入处理例从CSV格式的文件中读入数据。#coding:utf-8importcsvfname="d:\\python\\csvfile2.csv"fo=open(fname)ls=[]forlineinfo:line=line.replace('\n','')ls.append(line.split(','))forrowinls:forcolumninrow:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防台防汛演练总结范文(11篇)
- 【+高中语文+】《老人与海(节选)》课件++统编版高中语文选择性必修上册
- 江苏省南京市第四中学集团校2024-2025学年度12月月考九年级数学试卷(含答案)
- 医学教程 当前玉米生产中的突出问题与解决途径郭庆法
- 医学教材 肠道门诊业务知识培训学习资料
- 高一 人教版 化学 第二章第三节第三课时《物质的量浓度》课件
- 2025届高考备考全国九月联考 卷一(含答案解析)
- 4.1 一阶有源滤波器
- 高一 人教版 地理必修一 第六章《自然灾害》知识体系结构 课件
- 物质的量完整课件
- 24秋国家开放大学《科学与技术》终结性考核大作业参考答案
- 国开2024年秋《经济法学》计分作业1-4答案形考任务
- D502-15D502等电位联结安装图集
- 微电影招商赞助方案
- 水泥压力板施工工艺12页
- 新版学生会-台词(开心麻花-完整版)剧本(1)6页
- 水土保持遥感监测技术规范
- 61#楼基础超深处理方案
- ICC国际商会NCNDA和IMFPA中英文对照可编辑
- 水利工程平行检测计划
- 检验科性能验证程序文件
评论
0/150
提交评论