07. 文件和数据格式化
文件的使用
文件是数据的抽象和集合
- 文件是存储在辅助存储器上的数据序列
- 文件是数据存储的一种形式
- 文件展现形态:文本文件和二进制文件
文本文件 vs. 二进制文件
- 文件文件和二进制文件只是文件的展示方式
- 本质上,所有文件都是二进制形式存储
- 形式上,所有文件采用两种方式展示
文本文件
文件是数据的抽象和集合
- 由单一特定编码组成的文件,如 UTF-8 编码
- 由于存在编码,也被看成是存储着的长字符串
- 适用于例如:.txt 文件、.py 文件等
二进制文件
文件是数据的抽象和集合
- 直接由比特 0 和 1 组成,没有统一字符编码
- 一般存在二进制 0 和 1 的组织结构,即文件格式
- 适用于例如:.png 文件、.mp4 文件等
文件的打开: open(<fileName>, <mode>)
fileName的几种取值:
1 | "D:/PYE/f.txt" |
文件的打开模式 | 描述 |
---|---|
‘r’ | 只读模式,默认值,如果文件不存在,返回FileNotFoundError |
‘w’ | 覆盖写模式,文件不存在则创建,存在则完全覆盖 |
‘x’ | 创建写模式,文件不存在则创建,存在则返回FileExistsError |
‘a’ | 追加写模式,文件不存在则创建,存在则在文件最后追加内容 |
‘b’ | 二进制文件模式 |
‘t’ | 文本文件模式(默认值) |
‘+’ | 与 r/w/x/a 一同使用,在原功能基础上增加同时读写功能 |
文件的关闭:<变量名>.close()
文件的读取:
1 | # 读入全部内容,如果给出参数,读入前size长度 |
1 | # 文件的全文本操作 |
文件的数据写入:
1 | # 向文件写入一个字符串或字节流 |
1 | # 改变当前文件操作指针的位置,offset含义如下:0 – 文件开头; 1 – 当前位置; 2 – 文件结尾 |
1 | fo = open("output.txt","w+") |
2 实例 11: 自动轨迹绘制
1 | #AutoTraceDraw.py |
3 一维数据的格式化和处理
一维数据
- 由对等关系的有序或无序数据构成,采用线性方式组织
- 对应列表、数组和集合等概念
二维数据
由多个一维数据构成,是一维数据的组合形式
表格是典型的二维数据。其中,表头是二维数据的一部分
多维数据
由一维或二维数据在新维度上扩展形成
高维数据
仅利用最基本的二元关系展示数据间的复杂结构
一维数据的表示
- 如果数据间有序:使用列表类型
- 如果数据间无序:使用集合类型
一维数据的存储
空格、逗号等其他分隔
1 | # 一维数据的写入处理 |
4 二维数据的格式化和处理
二维数据的表示
列表类型可以表达二维数据
- 使用两层for循环遍历每个元素
- 外层列表中每个元素可以对应一行,也可以对应一列
CSV数据存储格式
CSV: Comma-Separated Values
-
国际通用的一二维数据存储格式,一般.csv扩展名
-
每行一个一维数据,采用逗号分隔,无空行
-
Excel软件可读入输出,一般编辑软件都可以产生
-
如果某个元素缺失,逗号仍要保留
-
二维数据的表头可以作为数据存储,也可以另行存储
-
逗号为英文半角逗号,逗号与数据之间无额外空格
按行存?按列存?
- 按行存或者按列存都可以,具体由程序决定
- 一般索引习惯:
ls[row][column]
,先行后列 - 根据一般习惯,外层列表每个元素是一行,按行存
1 | # 从CSV格式的文件中读入数据 |
5 模块6: wordcloud库的使用
6 实例12: 政府工作报告词云
1 | #GovRptWordCloudv1.py |