python 一,二维数据的个数化和处理

目录

数据的几种类型

数据的操作周期

一维数据

一维数据的表示

一维数据的存储

一维数据的处理

一维数据的读入处理

一维数据的写入处理

二维数据

二维数据的表示

 CSV格式

二维数据的存储

二维数据的处理


数据的几种类型

一维数据
由对等关系的有序或无序数据构成,采用线性方式组织
-对应列表、数组和集合等概念
二维数据
由多个一维数据构成,是一维数据的组合形式
-表格是典型的二维数据
-其中,表头可以作为二维数据的一部分,也可以作为二维数据之外的部分
多维数据
由一维或二维数据在新维度上的扩展形成
如中国大学排行榜形成的表格(二维数据)在时间维度上的扩展
高维数据
仅利用最基本的二元关系展示数据间的复杂结构
如:键值对
{
    "firstName":"Tian",
    "lastName":"Sone",
    "address":{
        "streetAddr":"中关村南大街5号",
        "city":"北京市",
        "zipcode":"100081"
        },
"professional":["Computer Netowrking","Security"]
}

数据的操作周期

存储<->表示<->操作

关系图:

 



一维数据

一维数据的表示

如果数据见有序:使用列表类型
ls=[3.1398,3.1349,3.1376]
-列表类型可以表达一维有序数据
-for循环可以遍历数据,进而对每个数据进行处理


如果数据间无序:使用集合类型
st={3.1398,3.1349,1.1376}
-集合类型可以表达一维数据
-for循环可以遍历数据,进而对每个数据进行处理
 

一维数据的存储

存储方式一:空格分隔
中国 美国 日本 德国 法国 英国 意大利
-使用一个或多个空格分隔进行存储,不换行
-缺点:数据中不能存在空格


存储方式二:逗号分隔
中国,美国,日本,德国,法国,英国,意大利
-使用英文半角逗号分隔进行存储,不换行
-缺点:数据中不能存在英文逗号


存储方式三:其他方式(通常使用)
中国$美国$日本$德国$法国$英国$意大利
-使用其他符号或符号组合分隔,建议采用特殊符号
-缺点:需要根据数据特点定义,通用性较差


 

一维数据的处理

存储<->表示

-将存储的数据读入程序

-将程序表示的数据写入文件

 

一维数据的读入处理

从空格分隔的文件中读入数据
中国 美国 日本 德国 法国 英国 意大利

 txt=open(fname).read()
 ls=txt.split()
 f.close()

从特殊符号分隔的文件中读入数据
中国$美国$日本$德国$法国$英国$意大利

txt=open(fname).read()
ls=txt.split("$")
f.close()

ps:split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表

一维数据的写入处理

采用空格分隔方式将数据写入文件ls=['中国','美国','日本']

ls=['中国','美国','日本']
f=open(fname,'w')    #w为一种模式
f.write(' '.join(ls))    #在增加元素中间增加空格
f.close()

采用特殊分隔方式将数据写入文件

ls=['中国','美国','日本']
f=open(fname,'w')
f.write('$'.join(ls))
f.close()

二维数据

二维数据的表示

[[3.1398,3.1349,3.1376],[3.1413,3.1404,3.1401]]
即:列表类型中的每一个元素又是一个列表
使用列表类型
[[3.1398,3.1349,3.1376],[3.1413,3.1404,3.1401]]
-使用两层for循环遍历每个元素
-外层列表中每个元素可以对应一行,也可以对应一列

 CSV格式

CSV:Comma-Separated Valuse

-国际通用的一二维数据存储格式,一般.CSV扩展名
-每行一个一维数据,采用逗号分隔,无空行
-Excel和一般编程软件都可以读入或另存为csv文件

如图:(表格转换为csv文件)

二维数据的存储

-如果某个元素缺失,逗号仍要保留
-二维数据的表头可以作为数据存储,也可以另行存储
-逗号为英文半角逗号,逗号与数据之间无额外空格
-按行存或者按列存都可以,具体有程序决定
-一般索引习惯:ls[row][coumn],先行后列
-根据一般习惯,外层列表每个元素是一行,按行存

二维数据的处理

从CSV格式的文件中读入数据

fo=open(fname)
ls=[]
for lin in fo:
	line=line.replace("\n"," ")
	ls.append(line.split(","))    #将每行元素按照split的形式用逗号分开,形成列表,加到数据后
fo.close()

将数据写入CSV格式的文件

s=[[],[],[]]		#二位列表
f=open(fname,"w")
for item in ls:
	f.write(','.join(item)+'\n')
f.close()

二维数据的逐一处理

采用二层循环

ls=[[1,2],[3,4],[5,6]]		#二位列表
for row in ls:
	for column in row:
		print(column)
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿勉要睡觉(原神启动版)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值