07-04 二维数据的格式化和处理
_______egon新书来袭请看:https://egonlin.com/book.html
一、概述
- 二维数据的表示
- CSV数据存储格式
- 二维数据的存储
- 二维数据的处理
二、二维数据的表示
2.1 使用列表类型
- 列表类型可以表达二维数据
- 使用二维列表
[[3.1398, 3.1349, 3.1376], [3.1413, 3.1404, 3.1401]]
- 使用两层for循环遍历每个元素
- 外层列表中每个元素可以对应一行,也可以对应一列
2.2 一二维数据的Python表示
数据维度是数据的组织形式
- 一维数据:列表和集合类型
[3.1398, 3.1349, 3.1376] 数据间有序
{3.1398, 3.1349, 3.1376} 数据间无序
- 二维数据:列表类型
[[3.1398, 3.1349, 3.1376], [3.1413, 3.1404, 3.1401]]
三、CSV格式与二维数据存储
3.1 CSV数据存储格式
CSV: Comma-Separated Values
- 国际通用的一二维数据存储格式,一般.csv扩展名
- 每行一个一维数据,采用逗号分隔,无空行
- Excel软件可读入输出,一般编辑软件都可以产生
- 如果某个元素缺失,逗号仍要保留
- 二维数据的表头可以作为数据存储,也可以另行存储
- 逗号为英文半角逗号,逗号与数据之间无额外空格
3.2 二维数据的存储
按行存?按列存?
- 按行存或者按列存都可以,具体由程序决定
- 一般索引习惯:
ls[row][column]
,先行后列 - 根据一般习惯,外层列表每个元素是一行,按行存
四、二维数据的处理
4.1 二维数据的读入处理
从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()
二维数据的逐一处理
采用二层循环
ls = [[], [], []] # 二维列表
for row in ls:
for column in row:
print(ls[row][column])
单元小结
二维数据的格式化和处理
- 二维数据的表示:列表类型,其中每个元素也是一个列表
- CSV格式:逗号分隔表示一维,按行分隔表示二维
- 二维数据的处理:for循环+.split()和.join()