Python学习七文件和数据格式化

本文深入探讨了文件和数据的格式化、读写方法,包括文本与二进制文件的区别,路径概念,以及如何通过数据文件自动化绘制图形。同时介绍了CSV数据存储格式及其应用,以及如何利用wordcloud库生成词云。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件和数据的格式化

文件的使用
文件的展现形态:文本文件和二进制文件
文本文件:

  • 由单一特定的编码组成的文件。如utf-8编码
  • 由于存在编码,也被看成是存储着的长字符串
  • 例如.txt、.py文件
    二进制文件:有0.1组成
    文件的打开和关闭

在这里插入图片描述
绝对路径:从根目录开始
相对路径:从程序所在的地方开始查找。
在这里插入图片描述
打开模式
在这里插入图片描述
文件内容的读取
size表示的是字节
在这里插入图片描述
在这里插入图片描述
文件的写入
在这里插入图片描述
在这里插入图片描述
自动轨迹绘制

  • 需求:根据脚本来绘制图形
  • 不是写代码而是写数据绘制轨迹
  • 数据脚本是自动化最重要的一步
  • 步骤一:定义数据文件格式
  • 步骤二:编写程序,根据文件接口解析参数绘制图形
  • 步骤三:绘制数据文件
    数据接口的定义:
    在这里插入图片描述
#根据上述的绘制图形接口,形成可执行文件
#再编写代码实现
#autotracedraw.py
#绘画的初值与环境
import turtle as t
t.turtle('自动轨迹绘制')
t.setup(800,600,0,0)
t.pencolor("red")
t.pensize(5)
#数据的读取
datals=[]
f=open("data.txt")
for line in f:
	line=line.replace("\n","")
	datals.append(list(map(eval,line.split(","))))#将逗号为分隔符,将一个长的字符串分隔成若干个字符串,生成为一个列表
	#map为内嵌函数,不需要用import调用将第一个参数的操作作用于第二个参数的内一个元素
f.close()
#自动绘制
for i in range(len(datals)):
	t.pencolor(datals[i][3],datals[i][4],datals[i][5])
	t.fd(datals[i][0])
	if datals[i][1]:
		t.right(datals[i][2])
	else:
		t.left(datals[i][2])

这样的绘图方式,可以改变数据文件来改变图形,而不需要重新修改代码
在本例中用二维数据应用比较方便
可以扩展接口设计,增加更多的控制接口。

一位数据的格式化和处理
一位数据的表示:
如果元素中数据时有序的:使用列表类型来表示,用for来遍历数据
如果无序,则用集合来表示数据
以为数据的存储:
1.使用一个或者多个空格分隔进行存储,不换行
缺点:数据中不能存在空格
2.使用英文半角逗号分隔进行数据的存储,不换行
缺点:数据中不能有英文逗号
3.可用其他的符号或者符号的组合
数据的处理:
从空格分隔的文件中读入数据
从特殊符号分隔的文件中读入数据
在这里插入图片描述
二维数据的格式化和处理
二维数据的表示:
列表类型表示:列表的元素也是一个列表
在这里插入图片描述
CSV数据存储格式:comma separated value以逗号分隔的值

  • 国际通用的一二维数据存储格式,一般.CSV扩展名
  • 每行一个一维数据,采用逗号分隔,无空格
  • excel和一般的编辑软件都可以读入或者另存为CSV文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    wordcloud库的介绍词云
    在cmd命令行安装:pip install wordcloud即可
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 分隔:以空格分隔单词
  • 统计:单词出现次数并过滤
  • 字体:根据统计配置字号
  • 布局:颜色环境尺寸
    在这里插入图片描述
    最大字号和最小字号是根据单词出现的次数决定的
    在这里插入图片描述
    在这里插入图片描述
    配置对象参数
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
政府工作报告的词云展示:

#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( \    width = 1000, height = 700,\    background_color = "white",    font_path = "msyh.ttc"        )
 w.generate(txt)w
 .to_file("grwordcloud.png")

生成特定形状的词云

#GovRptWordCloudv2.py
import jieba
import wordcloud
from scipy.misc import imread
mask = imread("chinamap.jpg")#读取一个图片文件
excludes = { }
f = open("新时代中国特色社会主义.txt", "r", encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
w = wordcloud.WordCloud(\    width = 1000, height = 700,\    background_color = "white",    font_path = "msyh.ttc", mask = mask    )
w.generate(txt)
w.to_file("grwordcloudm.png")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值