python 学习第七天
文件的使用
-文件的类型
-文件的打开和关闭
-文件内容的读取
-数据的文件写入
1.文件的类型
文件:数据的抽象和结合 ,可以理解为存储在辅助存储器上的数据序列,文件时数据存储的一种形式。
文件的展现形态:文本文件、二进制文件,两者只是展示方式不同,本质上所有文件都是以二进制形式存储在计算机上的。
文本文件:有单一特定编码组成的文件,如UTF-8编码,如txt、py文件
二进制文件:直接由比特0和1组成,没有统一的字符编码,一般存在二进制0和1的组织机构,即文件格式,适用于png、avi文件
2.文件的打开和关闭
文件处理步骤: 打开-》操作-》关闭
打开文件: <变量名>=open(<文件名>,<打开模式>) #文件名是文件的路径名称(绝对路径或者相对路径),打开模式指读/写文件以及 文本/二进制模式打开,打开之后用一个抽象的句柄(等式左边的变量名)来表示这个文件

文件关闭:
<文件句柄>.close() 记得用完之后要关闭文件。
3.文件内容的读取
f.read(size=-1) 默认读取所有文件,传递参数表示读取size个字符,对于大文件来说这个方法耗时很长
f.readline(size=-1) 默认读取一行,传递参数表示读取这一行的前size个字符
f.readlines(hint=-1) 读入文件所有行,以每行元素形成列表,如果给出参数,读前hint行,每行是一个字符串。
遍历全文件:
方法1:
fo=open(fname,"r")
txt=fo.read()
fo.close()
方法2:分阶段处理
fo=open(fname,"r")
txt=fo.read(2)
while txt !="":
#对txt处理
txt=fo.read(2)
fo.close()
逐行遍历文件:
方法一:
fo=open(fname,"r")
for line in fo.readlines(): #消耗时间长
#处理line
fo.close()
方法二:
fo=open(fname,"r")
for line in fo: #表示逐行处理,
#处理line
fo.close()
4.数据的文件写入
f.write(s) 向文件中写入一个字符串或者字节流
f.writelines(lines) 将一个元素全为字符串的列表lines写入文件中,直接拼接后写入,不换行
f.seek(offset) 改变当前文件操作指针的位置,offset : 0-文件开头 1-当前位置 2-文件结尾
自动轨迹绘制
读取一个文件,解析其中数据,绘制出相应的图像
略。
map函数是python内置库函数,接受两个参数map(fun,data)
参数fun是一个函数,参数data一般是一个列表,表示对每个列表中的数据进行fun操作。
一维数据的格式化和处理
-数据组织的维度
-一维数据的表示
-一维数据的存储
-一维数据的处理
1.数据组织的维度
一维数据采用线性方式组织,对于python中的列表、数组、集合等
二维数据是由多个一维数据组成
2.一维数据表示
如果数据间有序,使用列表类型
如果数据间无序,使用集合类型
3.一维数据的存储
通常逗号、空格或者一些特殊字符来分隔存储
4.一维数据的处理
例如从空格分隔的文件中读取数据
txt=open(fname).read()
ls=txt.split()
f.close()
又如将列表写入文件
f.open(fname,"w")
f.write(" ".join(ls)) #将join前面的字符串分隔放置到后边join参数中的各个元素之间
f.close()
二维数据的格式化和处理
-二维数据的表示
-CSV数据存储格式
-二维数据的存储
-二维数据的处理
1.二维数据的表述
一般使用二维列表,即列表中的每一个元素又是一个列表,使用两层for循环遍历列表
2.csv数据存储格式
csv: comma-separated values 逗号分隔的值
这是国际通用的一二维数据存储格式,一般以.csv为扩展名,每行一个一维数据,采用逗号分隔,且没有空行。csv格式数据是很多数据格式之间的转换格式
csv文件中若某个数据确实,逗号需要保留,二维数据的表头可以作为数据存储,也可以另行存储
3. 二维数据的处理
从csv格式的文件中读入数据
fo=open(fname)
ls=[]
for line in fo:
line=line.replace("\n","")
ls.append(line.split(","))
fo.close()
将ls写回csv
f=open(fname,"w")
for item in ls:
f.write(",".join(item)+"\n")
f.close()
wordcloud库的使用
wordcloud是一个词云展示第三方库,词云以词语为基本单位,更加直观和艺术的展示文本
pip install wordcloud 安装wordcloud库
1.使用说明
w=wordcloud.WordCloud(width,height) #生成一个WordCloud词云对象,可以指定生成最后图片的高度和宽度,不指定默认600X400
w.generate(txt) #向WorldColud对象w中加载文本txt txt中的单词以空格分隔
w.to_file(filename) #将词云输出为图像文件,.png或者.jpg格式
其他参数
min_font_size #指定词云最小字体字号
max_font_size
font_step #字体字号的步进间隔
font_path #指定字体
max_words #最大单词数量
stop_words #排除/不显示某些单词,一般使用一个集合类型来排除集合类型中的单词
mask #指定图云形状
mask使用方法
from scipy.misc import imread
mk=imread("pic.png")
w=wordcloud.WordCloud(mask=mk)
background_color #指定图云背景颜色,默认黑色

浙公网安备 33010602011771号