Python语言程序设计——第七周:文件和数据类型格式化

文件和数据格式化

在这里插入图片描述

  • 文件的使用
  • 实例11:自动轨迹绘制
  • 一维数据的格式化和处理
  • 二维数据的格式化和处理
  • 模块6:wordcloud库的使用
  • 实例12:政府工作报告词云

文件的使用

  • 文件的类型
  • 文件的打开和关闭
  • 文件内容的读取
  • 数据的文件写入

文件的类型

文件是数据的抽象和集合

  • 文件时存储再辅助存储器上的数据序列
  • 文件时数据存储的一种形式
  • 文件展现形态:文本文件和二进制文件
文本文件二进制文件
由单一特定编码组成的文件,如UTF-8编码直接由比特0和1组成,没有统一字符编码
由于存在编码,也被看成时存储者的长字符串一般存在二进制0和1的组织结构,即文件格式
适用于例如:.py文件、.txt文件适用于例如:.png.文件、avi文件等

文本文件vs二进制文件

  • 文本文件和二进制文件只是文件的展示方式
  • 本质上,所有文件都是二进制形式存储
  • 形式上,所有文件采用两种方式展示
    在这里插入图片描述

文件的使用

f.txt文件保存:“中国是一个伟大得国家!”
#文本形式打开文件
>>> tf=open("C:/Users/LJX/Desktop/f.txt","rt")
>>> print(tf.readline())
中国是一个伟大的国家!
>>> tf.close()
#二进制形式打开文件
>>> bf=open("C:/Users/LJX/Desktop/f.txt","rb")
>>> print(bf.readline())
b'\xd6\xd0\xb9\xfa\xca\xc7\xd2\xbb\xb8\xf6\xce\xb0\xb4\xf3\xb5\xc4\xb9\xfa\xbc\xd2\xa3\xa1'
>>> bf.close()

文件的打开和关闭

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

文件内容的读取

操作方法描述
<f>.read(size=-1)读入全部内容,如果给出参数,读入前size长度
<f>.readline(size=-1)读入一行内容,如果给出参数,读入该行前size长度
<f>.readlines(hints=-1)读入文件所有行,以每行为元素形成列表,如果给出参数,读入该行前hint行

遍历全文本:方法一
一次读入,统一处理

fname=input("请输入要打开的文件名称:")
fo=open(fname,"r")
txt=fo.read()
fo.close()

遍历全文本:方法二
按数量读入,逐步处理

fname=input("请输入要打开的文件名称:")
fo=open(fname,"r")
txt=fo.read(2)
while txt !="":
    txt=fo.read(2)
fo.close()

逐行遍历文件:方法一
一次读入,分行处理

fname=input("请输入要打开的文件名称:")
fo=open(fname,"r")
for line in fo.readlines():
            print(line)
fo.close()

逐行遍历文件:方法二
分行读入,逐行处理

fname=input("请输入要打开的文件名称:")
fo=open(fname,"r")
for line in fo:
            print(line)
fo.close()

数据的文件写入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

自动轨迹绘制

在这里插入图片描述

自动轨迹绘制举一反三

理解方法思维

  • 自动化思维:数据和功能分离,数据驱动得自动运行
  • 接口化设计:格式化设计接口,清晰明了
  • 二维数据应用:应用维度组织数据,二维数据最常用
    应用问题的扩展
  • 扩展接口设计,增加更多控制接口
  • 扩展功能设计,增加弧形等更多功能
  • 扩展应用需求,发展自动轨迹绘制到动画绘制

一维数据的格式化和处理

  • 数据组织的维度
  • 一维数据的表示
  • 一维数据的存储
  • 一维数据的处理

数据组织的维度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一维数据的表示

如果数据间有序:使用列表类型
ls=[3.1398,3.1349,3.1376]

  • 列表类型可以表达一组有序数据
  • for循环可以遍历数据,进而对每个数据进行处理
    如果数据间无序:使用集合类型
    st={3.1398,3.1349,3.1376}
  • 集合类型可以表达一组无序数据
  • for循环可以遍历数据,进而对每个数据进行处理

一维数据的存储

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一维数据的处理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二维数据的格式化和处理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

wordcloud库常规方法

  • 步骤1:配置对象参数
  • 步骤2:加载词云文本
  • 步骤3:输出词云文件
>>> import wordcloud
>>> c=wordcloud.WordCloud()
>>> c.generate("wordcloud by Python")
<wordcloud.wordcloud.WordCloud object at 0x000001FA6301B130>
>>> c.to_file("pywordcloud.png")
<wordcloud.wordcloud.WordCloud object at 0x000001FA6301B130>

在这里插入图片描述
在这里插入图片描述

配置对象参数

w=wordcloud.WordCloud(<参数>)

参数描述
width指定词云对象生成图片的宽度,默认400像素
w=wordcloud.WordCloud(width=400)
height指定词云对象生成图片的高度,默认200像素
w=wordcloud.WordCloud(height=200)
min-font_size指定词云中字体的最小字体,默认4号
w=wordcloud.WordCloud(min_font_size=10)
max-font_size指定词云中字体的最大字体,根据高度自动调节
w=wordcloud.WordCloud(max_font_size=20)
font_step指定词云中字体字号的步进间隔,默认为1
w=wordcloud.WordCloud(font_step=2)
font_path指定字体文件的路径,默认None
w=wordcloud.WordCloud(font_path="msyh.ttc")
max_words指定词云显示的最大单词数量,默认200
w=wordcloud.WordCloud(max_words=20)
stop_words指定词云的排除词列表,即不显示的单词列表
w=wordcloud.WordCloud(stop_words={"Python"})
mask指定词云形状,默认为长方形,需要引用imread()函数
from scipy.misc import imread
mk=imread("pic.png")
w=wordcloud.WordCloud(mask=mk)
backgroud_color指定词云图片的背景颜色,默认为黑色
w=wordcloud.WordCloud(backgroud_color="white")

wordcloud应用实例

import wordcloud
txt="life is short,you need python"
w=wordcloud.WordCloud(\
    background_color="white")
w.generate(txt)
w.to_file("pywcloud.png")

在这里插入图片描述

import jieba
import wordcloud
txt="程序设计语言是计算机能够理解和\
设计用户操作意图的一种交互体系,它按照\
特定规则组织计算机指令,使计算机能够自\
动进行各种运算处理。"
w=wordcloud.WordCloud(width=1000,\
                      font_path="msyh.ttc",height=700)
w.generate(" ".join(jieba.lcut(txt)))
w.to_file("pywc.png")

在这里插入图片描述
:生成的图片在源代码文件.py文件所在的文件夹内。

实例12:政府工作报告词云

在这里插入图片描述
基本思路:

  • 步骤1:读取文件,分词整理
  • 步骤2:设置并输出词云
  • 步骤3:观察结果,优化迭代
#GovRptWordCloudv1.py
import jieba
import wordcloud
f= open("新时代中国特色社会主义.txt","r",encoding="utf-8")
t=f.read()
f.close()
ls=jieba.lcut(t)
txt=" ".join(ls)
w=wordcloud.WordCloud(font_path="msyh.ttc", \
      width=1000,height=700,background_color="white",\
      max_words=15)
w.generate(txt)
w.to_file("grwordcloud.png")

在这里插入图片描述

在这里插入图片描述

政府工作报告词云举一反三

  • 了解wordcloud更多参数,扩展词云能力
  • 特色词云:设计一款属于自己的特色词云风格
  • 更多文件:用更多文件练习词云生成
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值