数据的维度

数据的维度是数据的组织形式

  • 一维形式,就是之前说的三种数据组合类型了
  • 二维数据,是一维数据的组合形式,由多个一维数据组合形成
  • 多维数据,由一维数据或者二维数据在新维度上形成的
  • 高维数据,仅利用最基本的二元关系展示数据间的复杂结构

数据的操作周期

  • 存储,在文件中的表现形式
  • 表示,在程序中的表现形式
  • 操作,数据存储形式和表现形式之间的转换和处理

一维数据的表示,存储和处理

一维数据的表示

如果数据有序:使用列表类型

  • 列表类型可以表达一维有序数据
  • for循环可以遍历数据,进而对每一个数据进行处理

如果无序:使用集合类型

  • 集合类型可以表达一维无序数据
  • for循环可以遍历集合,进而对每一个数据进行处理

一维数据的存储

空格分开,不换行。

缺点是数据中不能存在空格

逗号分隔,不换行。

缺点是数据中不能存在逗号

其他方式

可以利用特殊符号或者特殊符号组合进行分隔例如’$’

缺点:需要根据数据特点进行定义,通用性比较差

一维数据的操作

指的是数据存储格式和表达方式之间的转换

  • 将存储的数据读入程序
  • 将程序表示的数据写入文件

举例

中国$美国$日本$法国$罗斯$越南
txt=f.open(data.txt).read()
ls=txt.split("$")
f.close()

写入文件

ls=['英国','印度']
f=open(fname,'w')
f.write(' '.join(ls))
f.close()

二维数据的表示,存储和处理

二维数据的表示

  • 列表类型可以表达二维数据
  • 使用的列表是二维列表
  • 使用两层for循环遍历列表的每一个元素
  • 外层列表中的每一个元素可以对应表格的一行或者一列

二维数据存储和CSV格式

CSV:Comma-Separated Values

  • 国际通用的一二维数据存储格式,一般用.csv扩展名
  • 每行一个一维数据,采用逗号分隔,无空行
  • Excel软件可以读入和输出,一般编辑软件都可以产出

CSV格式的约定

  • 如果某一个数据缺失,逗号也要进行保留
  • 二维数据的表头可以作为数据存储,也可以另行存储
  • 逗号为英文半角逗号,逗号与数据之间没有额外的空格
  • 如果数据中存在逗号,可以使用引号或者转义符来表示

按行存还是按列存

  • 按行存或者按列存都可以,具体由程序决定
  • 按照一般的索引习惯,ls[row][column],先行后列
  • 根据一般习惯,外层列表每一个元素是一行

二维数据的处理

从csv文件中读入数据

fo=open(fname)
ls=[]
for line in fo:
    line=line.replace('\n','')
    ls.append(line.split(','))
fo.close()

把文件写入到csv文件中

ls=[[],[],[]]
f=open(fnam,'w')
for item in ls:
    f.write(','.join(item)+'\n')
f.close()

# join()函数的参数可以不是字符串,也可以是列表

处理每一个二维数据

for row in ls:
    for column in row:
        print(ls[row][column])