目录
一,文件的使用
1. 文件的类型
(1)文件的理解:文件是数据的抽象和集合;
- 文件是存储在辅助存储器上的数据序列
- 文件是数据存储的一种形式
- 文件展现形态:文本文件和二进制文件
(2)文本文件 vs. 二进制文件: - 文件文件和二进制文件只是文件的展示方式
- 本质上,所有文件都是二进制形式存储
- 形式上,所有文件采用两种方式展示
(3)文本文件:文件是数据的抽象和集合; - 由单一特定编码组成的文件,如UTF-8编码
- 由于存在编码,也被看成是存储着的长字符串
- 适用于例如:.txt文件、.py文件等
(3)二进制文件:文件是数据的抽象和集合; - 直接由比特0和1组成,没有统一字符编码
- 一般存在二进制0和1的组织结构,即文件格式
- 适用于例如:.png文件、.avi文件等
(4)文本文件 vs. 二进制文件:
2.文件的打开和关闭
文件处理的步骤: 打开-操作-关闭;
(1)文件的打开:
(2)文件的关闭:
3.文件内容的读取
4.数据的文件写入
二,一维数据的格式化和处理
1.数据组织的维度
(1)从一个数据到一组数据:
维度:一组数据的组织形式
(2)一维数据:由对等关系的有序或无序数据构成,采用线性方式组织;
(3)二维数据:由多个一维数据构成,是一维数据的组合形式;
2.一维数据的表示
(1)如果数据间有序:使用列表类型
ls = [3.1398, 3.1349, 3.1376]
- 列表类型可以表达一维有序数据
- for循环可以遍历数据,进而对每个数据进行处理
(2)如果数据间无序:使用集合类型
st = {3.1398, 3.1349, 3.1376} - 集合类型可以表达一维无序数据
- for循环可以遍历数据,进而对每个数据进行处理
3.一维数据的存储
4.一维数据的处理
三, 二维数据的格式化和处理
1. 二维数据的表示
2.CSV数据存储格式
(1)CSV: Comma-Separated Values
- 国际通用的一二维数据存储格式,一般.csv扩展名
- 每行一个一维数据,采用逗号分隔,无空行
- Excel和一般编辑软件都可以读入或另存为csv文件
-
(2)CSV数据存储格式
CSV: Comma-Separated Values - 如果某个元素缺失,逗号仍要保留
- 二维数据的表头可以作为数据存储,也可以另行存储
- 逗号为英文半角逗号,逗号与数据之间无额外空格
3.二维数据的存储
二维数据的存储
按行存?按列存?
- 按行存或者按列存都可以,具体由程序决定
- 一般索引习惯:ls[row][column],先行后列
- 根据一般习惯,外层列表每个元素是一行,按行存
4.二维数据的处理
四, wordcloud库的使用
(wordcloud是优秀的词云展示第三方库)
- 词云以词语为基本单位,更加直观和艺术地展示文本
wordcloud库的安装:
(cmd命令行) pip install wordcloud
(1)wordcloud库基本使用
wordcloud库把词云当作一个WordCloud对象; - wordcloud.WordCloud()代表一个文本对应的词云
- 可以根据文本中词语出现的频率等参数绘制词云
- 词云的绘制形状、尺寸和颜色都可以设定
(2)wordcloud库常规方法:
w = wordcloud.WordCloud() - 以WordCloud对象为基础
- 配置参数、加载文本、输出文件
(3)配置对象参数:
五,实例
1.worldcloud库实例:
(1)基础版:
输出文件默认同.py文件目录。
import wordcloud
txt="life is a fucking movie"
c=wordcloud.WordCloud(background_color="white")
c.generate(txt)
c.to_file("love.png")
(2)进阶版:
import jieba
import wordcloud
txt="从明天起,做一个幸福的人\
喂马,劈柴,周游世界\
从明天起,关心粮食和蔬菜\
我有一所房子,面朝大海,春暖花开\
从明天起,和每一个亲人通信\
告诉他们我的幸福,那幸福的闪电告诉我的\
我将告诉每一个人\
给每一条河每一座山取一个温暖的名字\
陌生人,我也为你祝福\
愿你有一个灿烂的前程\
愿你有情人终成眷属\
愿你在尘世获的幸福\
我也愿面朝大海,春暖花开"
c=wordcloud.WordCloud(background_color=("white",width=1000,height=800,font_path="msyh.ttc")
c.generate(" ".join(jieba.lcut(txt)))
c.to_file("中文.png")
2.《*工作报告》:
文件链接下载地址:
新时代中国特色*.txt
关于实施乡村振兴战略的意见.txt
(1)《新时代中国特色*》.txt词云基础版:
import jieba
import wordcloud
f=open("新时代中国特色*.txt","r",encoding="utf-8")
t=f.read()
f.close()
txt=" ".join(jieba.lcut(t))
w=wordcloud.WordCloud(width=1000,height=700,background_color="white",font_path="msyh.ttc",max_words=15)
w.generate(txt)
w.to_file("新时代中国特色*.jpg")
(2)新时代中国特色*.txt词云进阶版:
import imageio
import jieba
import wordcloud
f=open("新时代中国特色*.txt","r",encoding="utf-8")
t=f.read()
f.close()
img = imageio.imread("p.jpg")
txt=" ".join(jieba.lcut(t))
w=wordcloud.WordCloud(width=1000,height=700,background_color="white",font_path="msyh.ttc",max_words=30,mask=img)
w.generate(txt)
w.to_file("2018一号文件.jpg")
3.自动轨迹绘制:
#生成绘画环境
import turtle as t
t.title("自动轨迹绘制")
t.setup(900,900,0,0)
t.pensize(5)
t.pencolor("red")
#读取数据
data=[]
f=open("datal.txt")
for line in f:
line=line.replace("\n","")
data.append(list(map(eval,line.split(","))))
f.close()
#自动绘制
for i in range(len(data)):
t.pencolor(data[i][3],data[i][4],data[i][5])
t.fd(data[i][0])
if data[i][1]:
t.right(data[i][2])
else:
t.left(data[i][2])