@【python】北京理工大学Python语言程序设计文件和数据格式化【七】

内容

文件的使用
一维数据的格式化与处理
二维数据的格式化与处理
wodcloud库

文件的使用

文件的类型

文件是数据的抽象和集合,是数据存储的一种形式
文件展现形态:文本文件和二进制文件
本质上都是二进制文件

文本文件

由单一特定编码组成的文件,如UTF-8编码
由于存在编码,也被看为存储着的长字符串
适用于例如.txt文件、.py文件

二进制文件

直接用01组成,没有统一的字符编码
如.png,.avi

文件的打开关闭

文件处理的步骤:打开-操作-关闭

Python egg格式文件 python et文件_词云


文件的打开

<变量名>=open(<文件名>,<打开模式>)
绝对路径 D:/PYE/a.txt   或者 D:\\
相对路径吧 ./PYE/a.txt 从可执行文件的路径中找PYE 再找a.txt

打开模式

'r' 只读模式,默认值,如果不存在 返回FileNotFoundError
'w' 覆盖写模式,不存在创建,存在覆盖
'x' 创建写模式。不存在创建,存在返回FileExistError
'a' 追加写模式。不存在创建。存在追加
'b' 二进制文本模式
't' 文本文件模式,默认值
'+' 与r/w/x/a,一同使用时,在原功能基础上增加同时读写功能

关闭模式

<变量名>.close()

文件内容的读取

<f>.read(size=1) 读入全部内容,前size长度
<f>.readline(size=1) 读入一行,该行前size长度
<f>.readlines(hint=1) 读入所有行,以每行为元素形成列表  前hint行

数据的文件写入

<f>.write(s) 向文件写入一个字符串或字节流
<f>.writelines(lines) 将一个元素全为字符串的列表写入文件
<f>.seek(offset) 改变当前文件操作指针的位置,
offset含义如下:0 文件开头 1 当前位置 2文件结尾

一维数据的格式化处理

一维数据。由对等关系的有序或无序数据构成,采用线性方式组织
对应列表、数组和集合等概念
二维数据,由多个一维数据构成
多维数据,由一维或二维数据在新维度上扩展
高维数据,仅利用最基本的二元关系展示数据间的复杂结构,如键值对

数据的操作周期

存储<->表示<->操作

一维数据的表示

存在顺序:列表
无序:集合

一维数据的存储

存储方式一:空格分隔
使用一个或多个空格分隔进行存储,不换行
缺点:数据中不能存在空格

存储方式二:逗号分隔
使用英文逗号,不换行
缺点:数据中不能有逗号

存储方式三:其他方式
使用其他字符定义分割,缺点数据中不能含有特殊符号

一维数据的处理

Python egg格式文件 python et文件_数据_02

txt = open(fname).read()
ls =txt.split("$")
f.close()
##采用空格分隔方式将数据写入文件
ls=['中国','美国']
f=open(fname,'w')
f.write(' '.join(ls))
f.close()

二维数据的格式化和处理

二维数据的表示

使用列表类型
使用二维列表 列表元素是列表

CSV格式与二维数据存储

CSV:Comma-Separated Valued
国际通用的一二维数据存储格式,一般.csv扩展名
每行一个一维数据,采用逗号分隔,无空行
Excel等一般编辑软件都可以读入或另存为csv文件
如果某个元素缺失,逗号仍要保留
二维数据表头可以作为数据存储,也可以另行存储
ls[row][column] 一般索引习惯,先行后列

二维数据的处理

从csv中读入

fo=open(fname)
ls=[]
for line in fo:
	line=line.replace("\n","")
	ls.append(line.split(","))
fo.close()

写入csv

ls=[[],[],[]]
f=open(fname.'w')
for item in ls:
	f.write(','.join(item)+'\n')
f.close()

wordcloud库

优秀的词云显示第三方库

pip install wordcloud

wordcloud库把词云作为WordCloud对象
wordcloud.WordCloud()
配置参数、加载文本、输出文件

w=wordcloud.WordCloud()
w.generate(txt) 向w中家长文本txt
w.to_file(filename) 将词云输出为图像文件,.png或.jpg格式
w.wordcloud.WordCloud(<参数>)
width   生成图片的宽度
height  生成图片的高度
min_font_size  最小字号  
max_font_size  最大字号
font_step      字号步进
font_path      字体文件路径
max_words      最大单词数
stop_words     排除某些词 集合类型 stop_wprds={"python"}
mask           指定词云形状
				from scipy.misc import imread
				mk=imread("pic.png")
				w=wordcloud.WordCloud(mask=mk)
background_color  背景色