数据的维度
数据的维度是数据的组织形式
- 一维形式,就是之前说的三种数据组合类型了
- 二维数据,是一维数据的组合形式,由多个一维数据组合形成
- 多维数据,由一维数据或者二维数据在新维度上形成的
- 高维数据,仅利用最基本的二元关系展示数据间的复杂结构
数据的操作周期
- 存储,在文件中的表现形式
- 表示,在程序中的表现形式
- 操作,数据存储形式和表现形式之间的转换和处理
一维数据的表示,存储和处理
一维数据的表示
如果数据有序:使用列表类型
- 列表类型可以表达一维有序数据
- 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])