1、数据组织的维度
1)一维数据
3.14------>一个数据(表示一个含义)
3.141,3.142,3.143,3.144----->一组数据(表示一个或多个含义)
由对等关系的有序或无序数据构成,采用线性方式组织
- 对应列表、数组和集合等概念
2)二维数据
由多个一维数据构成,是一维数据的组合形式
- 表格是典型的二维数据(其中,表头是二维数据的一部分)
3)多维数据
由一维或二维数据在新维度上扩展形成
- 在一个表格(二位数据)上加上一个时间维度,例如一个是在2018年,一个是在2019年
2、一维数据的表示
1)如果数据间有序:使用列表类型
ls = [ 1.1 , 2.2 , 3.3 ]
- 列表类型可以表达一维有序数据
- for循环可以遍历数据,进而对每个数据进行处理
2)如果数据间无序:使用集合类型
st = { 1.1 , 2.2 , 3.3 }
- 集合类型可以表达一维无序数据
- for循环可以遍历数据,进而对每个数据进行处理
3、一维数据的存储
1)空格间隔
中国 美国 英国 法国
- 使用一个或者多个空格分隔进行存储,不换行
- 缺点:数据中不能存在空格
2)空格间隔
中国 ,美国, 英国,法国
- 使用英文半角逗号分隔数据进行存储,不换行
- 缺点:数据中不能存在英文逗号
3)其他特殊字符
中国&美国&英国&法国
- 使用其他符号或符号组合分隔,建议采用特殊符号
- 缺点:需要根据数据特点定义,通用性较差
4 、一维数据的读入处理
>>>f=open("f.txt")
>>>txt=f.read()
>>>ls=txt.split() #从由空格分隔的文件中读入数据,split函数是处理字符串的函数
>>>f.close()
>>>ls
输出结果为:['中国','美国','英国','法国' ]
>>>f=open("f.txt")
>>>txt=f.read()
>>>ls=txt.split("&") #从由&分隔的文件中读入数据
>>>f.close()
>>>ls
输出结果为:['中国','美国','英国','法国' ]
5、一维数据的写入处理
>>>ls=['中国','美国','英国','法国']
>>>f=open("f.txt",'w')
>>>f.write(' '.join(ls)) #采用空格分隔方式将数据写入文件,join是处理字符串的函数
>>>f.close()
>>>ls=['中国','美国','英国','法国']
>>>f=open("f.txt",'w')
>>>f.write('&'.join(ls)) #采用特殊分隔方式将数据写入文件
>>>f.close()
从两种处理也可以看出来,列表和字符串之间的相互转化,split函数的返回是一个列表,join函数的参数可以是列表
6、二位数据的表示
- 列表类型可以表达二维数据
- 使用二维列表 [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] ]
一、二维数据的Python表示(数据维度是数据的组织形式)
- 一维数据:列表和集合类型
[ 1 , 2 , 3 ]
{ 1 , 2 , 3 } - 二维数据:列表类型
[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] ]
7、CSV数据存储格式
CSV:Comma-Separated Values
- 国际通用的一二维数据存储格式,一般.csv扩展名
- 每行一个一维数据,采用逗号分隔,无空行
- Excel和一般编辑软件都可以读入或另存为csv文件
城市,环比,同比,定基
北京,101.5,120.7,121.4
上海,101.2,127.3,127.8
广州,101.3,119.4,120.0
深圳,102.0,140.0,145.5
沈阳,100.0,101.4,101.6
- 如果某个元素缺失,逗号仍要保留
- 二维数据的表头可以作为数据存储,也可以另行存储
- 逗号为英文半角逗号,逗号和数据之间无额外空格
8、二维数据的处理
1)二维数据的读入处理(从CSV格式的文件中读入数据)
fo = open("f.txt")
ls=[]
for line in fo:
line =line.replace("\n"," ")
ls.qppend(line.split(","))
fo.close()
2)二维数据的写入处理(将数据写入CSV格式的文件)
ls=[[],[],[]] #二维列表
f=open("f.txt",'w')
for item in ls:
f.write(','.join(item)+'\n')
f.close()