python3之数据格式化和处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34195441/article/details/88108362

数据组织的维度

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])

猜你喜欢

转载自blog.csdn.net/qq_34195441/article/details/88108362