07-03 一维数据的格式化和处理
_______egon新书来袭请看:https://egonlin.com/book.html
一、概述
- 数据组织的维度
- 一维数据的表示
- 一维数据的存储
- 一维数据的处理
二、数据组织的维度
2.1 从一个数据到一组数据
2.2 维度:一组数据的组织形式
2.3 一维数据
由对等关系的有序或无序数据构成,采用线性方式组织
3.1413, 3.1398, 3.1404, 3.1401, 3.1349, 3.1376
- 对应列表、数组和集合等概念
2.4 二维数据
由多个一维数据构成,是一维数据的组合形式
表格是典型的二维数据,其中,表头是二维数据的一部分
2.5 多维数据
由一维或二维数据在新维度上扩展形成
2.6 高维数据
仅利用最基本的二元关系展示数据间的复杂结构
2.7 数据的操作周期
存储 <-> 表示 <-> 操作
三、一维数据的表示
3.1 如果数据间有序:使用列表类型
ls = [3.1398, 3.1349, 3.1376]
- 列表类型可以表达一维有序数据
- for循环可以遍历数据,进而对每个数据进行处理
3.2 如果数据间无序:使用集合类型
st = {3.1398, 3.1349, 3.1376}
- 集合类型可以表达一维无序数据
- for循环可以遍历数据,进而对每个数据进行处理
四、一维数据的存储
4.1 存储方式一:空格分隔
中国 美国 日本 德国 法国 英国 意大利
- 使用一个或多个空格分隔进行存储,不换行
- 缺点:数据中不能存在空格
4.2 存储方式二:逗号分隔
中国,美国,日本,德国,法国,英国,意大利
- 使用英文半角逗号分隔数据进行存储,不换行
- 缺点:数据中不能有英文逗号
4.3 存储方式三:其他方式
中国$美国$日本$德国$法国$英国$意大利
- 使用其他符号或符号组合分隔,建议采用特殊符号
- 缺点:需要根据数据特点定义,通用性较差
五、一维数据的处理
5.1 数据的处理
存储 <-> 表示
- 将存储的数据读入程序
- 将程序表示的数据写入文件
5.2 一维数据的读入处理
5.2.1 从空格分隔的文件中读入数据
中国 美国 日本 德国 法国 英国 意大利
txt = open(fname).read()
ls = txt.split()
f.close()
print(ls) # ['中国', '美国', '日本', '德国 ', '法国', '英国', '意大利']
5.2.2 从特殊符号分隔的文件中读入数据
中国$美国$日本$德国$法国$英国$意大利
txt = open(fname).read()
ls = txt.split('$')
f.close()
print(ls) # ['中国', '美国', '日本', '德国 ', '法国', '英国', '意大利']
5.3 一维数据的写入处理
5.3.1 采用空格分隔方式将数据写入文件
ls = ['中国', '美国', '日本']
f = open(fname, 'w')
f.write(' '.join(ls))
f.close()
5.3.2 采用特殊分隔方式将数据写入文件
ls = ['中国', '美国', '日本']
f = open(fname, 'w')
f.write('$'.join(ls))
f.close()
六、单元小结
6.1 一维数据的格式化和处理
- 数据的维度:一维、二维、多维、高维
- 一维数据的表示:列表类型(有序)和集合类型(无序)
- 一维数据的存储:空格分隔、逗号分隔、特殊符号分隔
- 一维数据的处理:字符串方法 .split() 和 .join()