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()
posted @ 2019-10-21 13:37  小猿取经-林海峰老师  阅读(315)  评论(0编辑  收藏  举报