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  #指定图云背景颜色,默认黑色

 

posted @ 2020-06-12 14:54  9761滴  阅读(255)  评论(0)    收藏  举报