文件的使用
文件的类型
文件是数据的抽象和集合
-文件是存储在辅助存储器上的数据序列
-文件是数据存储的一种形式
-文件展现形态:文本文件和二进制文件
文本文件和二进制文件只是文件的展示方式
本质上,所有文件都是二进制形式存储
文本文件
-由单一特定编码组成的文件,如UTF-8编码
-由于存在编码,也被看成是存储着的长字符串
-适用于例如:.txt文件、.py文件
二进制文件
-直接由比特0和1组成,没有统一字符编码
-一般存在二进制0和1的组织结构,即文件格式
-适用于例如:.png文件、.avi文件(视频文件)等
f.txt文件保存:“中国是个伟大的国家”
#文本形式打开文件
tf=open("f.txt","rt")
print(tf.readline())
tf.close
>>>
中国是个伟大的国家
#二进制形式打开文件
bf=open("f.txt","rb")
print(bf.readline())
bf.close
>>>
b'\xd6\xd0\xb9\xfa\xca\xc7\xb8\xf6\xce...............'
文件的打开和关闭
文件处理的步骤:打开-操作-关闭
绝对路径:
a=open( 文件名,打开模式 )
…操作…
a.close()
rt 模式:文本形式、只读模式
a+:文本形式、追加写模式+读文件
wb:二进制形式、覆盖写模式
读文件:
a.read(size)
a.readline(size)
a.readlins(hint)
对于大文件方法一十分占用内存
写文件
a.write(s)
a.writelines(lines)
a.seek(offset)
一维数据的格式化和处理
数据组织的维度
一维数据:由对等关系的有序或无序数据构成,采用线性方式组织
-对应列表、数据和集合等概念
二维数据:由多个一维数据构成,是一维数据的组合形式
-表格是典型的二维数据
-其中,表头是二维数据的一部分,也可以作为二维数据之外的部分
一维数据的表示
如果数据间有序:使用列表类型
-列表类型可以表达一维有序数据
-for循环可以遍历数据,进而对每个数据进行处理
如果数据间无序:使用集合类型
-集合类型可以表达一维无序数据
-for循环可以遍历数据,进而对每个数据进行处理
一维数据的存储
存储方式一:空格分隔
-使用一个或多个空格分隔进行存储,不换行
-缺点:数据中不能存在空格
存储方式二:逗号分隔
-使用英文半角逗号分隔数据进行存储,不换行
-缺点:数据中不能有英文逗号
存储方式三:其他方式
-使用其他符号或符号组合分隔,建议采用特殊符号
-缺点:需要根据数据特定定义,通用性较差

一维数据的处理
字符串方法:split()、join()
二维数据的格式化和处理
二维数据的表示
使用二维列表类型:列表中的每个元素又是另一个列表
-使用两层for循环遍历每个元素
-外层列表中每个元素可以对应一行,也可以对应一列
CSV格式与二维数据的存储
CSV:Comma-Separated Values
-国际通用的一二维数据存储格式,一般.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')#使item中元素用逗号隔开并在结尾添加换行
f.close()
遍历二维数据
ls=[[],[],[]]
for row in ls:
for column in row:
print(ls[row][column])
wordcloud库
wordcloud是优秀的词云展示第三方库
-词云以词语为基本单位,更加直观和艺术的展示文本
wordcloud库把词云当作一个WordCloud对象
-wordcloud.WordCloud()代表一个文本对应的词云
-可以根据文本中词语出现的频率等参数绘制词云
-绘制词云的形状、尺寸和颜色都可以设定
w=wordcloud.WordCloud()
w.generate(txt) #向WordCloud对象w中加载文本txt
>>>w.generate("Python and WordCloud")
w.to_file(filename) #将词云输出为图像文件,.png或.jpg格式
>>>w.to_file("outfile.png")
生成词云基本步骤:
步骤1:配置对象参数
w=wordcloud.WordCloud(<参数>)
参数:width:指定词云对象生成图片的宽度,默认400像素
height:指定词云对象生成图片的高度,默认200像素
min_font_size:指定词云中字体的最小字号,默认4号
max_font_size:指定词云中字体的最大字号,根据高度自动调节
font_step:指定词云中字体字号的步进间隔,默认为1(字体出现次数增加,字体字号加大)
font_path:指定字体文件的路径,默认None
w=wordcloud.WordCloud(font_path=“msyh.ttc”)#设置为微软雅黑
max_words:指定词云显示的最大单词数量,默认200
stop_words:指定词云的排除词列表,即不显示的单词列表
mask:指定词云形状,默认为长方形,需要引用imread()函数
from scipy.misc import imread
mk=imread("pic.png")
w=wordcloud.WordCloud(mask=mk)
background_color:指定词云图片的背景颜色,默认为黑色
步骤2:加载词云文本
步骤3:输出词云文件
文本变成词云的系统内部操作:
1分隔:以空格分隔单词
文本是中文时,需要借助jieba分词,使中文文本变成已空格分隔并且分词的列表
2统计:单词出现次数并过滤
3字体:根据统计配置字号
4布局:颜色环境尺寸
os库
os库提供通用的、基本的操作系统交互功能
-os库是Python标准库,包含几百个函数
-常用路径操作、进程管理、环境参数等
-路径操作:os.path子库,处理文件路径及信息
-进程管理:启动系统中其他程序
-环境参数:获得系统软硬件信息等环境参数
路径操作
os.path子库以path为入口,用于操作和处理文件路径
import os.path
进程管理
os.system(command)
-执行程序或命令command
-在Windows系统中,返回值为cmd的调用返回信息
环境参数