数据组织的维度
1、一维数据
由对等关系的有序或无序数据构成,采用线性方式组织
3.1413,3.1398,3.1403,3.2411
-对应列表、数组和集合等概念
2、二维数据
由多个一维数据构成,是一维数据的组合形式
-其中,表格是典型的二维数据,表头是二维数据的一部分
3、多维数据
由一维或二维数据在新维度上扩展形成
4、高维数据
仅利用最基本的二元关系展示数据间的复杂结构
{
"firstName":"tian",
"lastName":"song",
"address":{
"streetAddr":"中关村",
"city":"北京市",
"zipcode":"122"
},
"professinal":["computer networking","security"]
}
5、数据的操作周期
数据存储 <-> 数据表示 <-> 数据操作
存储格式 数据类型 操作方法
一维数据
1、一维数据的表示
-如果数据间有序:使用列表类型,列表类型可以表达一维有序数据,for循环可以遍历数据,进而对每个数据进行处理
-如果数据间无序:使用集合类型,集合类型可以表达一维无序数据,for循环可以遍历数据,进而对每个数据进行处理
2、一维数据的存储
——存储方式一:空格分隔
中国 美国 日本 德国
使用一个或多个空格分隔进行存储,不换行;缺点:数据中不能有空格
——存储方式二:逗号分隔
中国,美国,日本,德国
使用英文半角逗号分隔数据进行存储,不换行;缺点:数据中不能有英文逗号
——存储方式三:其他方式
中国$美国$日本$意大利
使用其他符号或符号组合分隔,建议采用特殊符号;缺点:需要根据数据特点定义,通用性较差
3、一维数据的处理
(1)一维数据的读入处理
从空格分隔(或$)的文件中读入数据
中国 美国 日本 德国 法国 英国 意大利
txt = open(fname).read()
ls = txt.split()
f.close()
(2)一维数据的写入处理
采用空格分隔方式(或特殊分割)将数据写入文件
ls = ['中国','美国','法国']
f = open(fname,'w')
f.write('$',join(ls))
f.close()
二维数据
1、二维数据的表示
——列表类型可以表达二维数据,二维列表,使用两层for循环遍历每个元素,外层列表中每个元素可以对应一行,也可以对应一列
[[3.123,3.421,3.234],[3.133,3.452,3.113]]
——CSV数据存储格式 Comma=Separated Values 用逗号分隔的存储方式
国际通用的一二维数据存储格式,一般.csv扩展名。每行一个一维数据,采用逗号分隔,无空行。Excel软件可读入输出,一般编辑软件都可以产生
-如果某个元素缺失,逗号仍要保留
-二维数据的表头可以作为数据存储,也可以另行存储
-逗号为英文半角逗号,逗号与数据之间无额外空格
2、二维数据的存储
-按行存或者按列存都可以,具体由程序决定。一般索引习惯:ls[r][c],先行后列,根据一般习惯,外层列表每个元素是一行,按行存储
fo = open(r'C:\Users\lenovo\Desktop\三国演义.txt')
ls = []
for line in fo:
line = line.replace("\n","")
ls.append(line.split(","))
fo.close()
print(ls)
3、二维数据的处理
(1)读入处理
将数据写入CSV格式的文件
ls = [[],[],[]]
f = open(r"C:\Users\lenovo\Desktop\三国演义.txt",'w')
for item in ls:
f.write(','.join(item) + '\n')
f.close()
(1)逐一处理
双层遍历
ls = [[],[],[]] #二位列表
for row in ls:
for column in row:
print(ls[row][column])