Python3之一、二维数据的格式化和处理

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()
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值