zoukankan      html  css  js  c++  java
  • Python之二维数据的格式化和处理

    1. 二维数据的表示

    二维数据一般是一种表格形式,由于它的每一行具有相同格式特点,所以我们使用列表类型来表达二维数据表。

    image-20210226163438700

    所谓的二维列表是指它本身是一个列表,而列表中每一个元素又是一个列表。其中每一个元素代表二维数据的一行或者一列,若干行和若干列组合起来就变成了二维列表。

    [ [3.1398, 3.1349, 3.1376],[3.1413, 3.1404, 3.1401] ]
    

    使用两层for循环遍历每个元素

    外层列表中每个元素可以对应一行,也可以对应一列

    一二维数据的Python表示

    一维数据:列表和集合类型

    数据间有序:[3.1398, 3.1349, 3.1376] 
    数据间无序:{3.1398, 3.1349, 3.1376} 
    

    二维数据:列表类型

    [ [3.1398, 3.1349, 3.1376],[3.1413, 3.1404, 3.1401] ]
    

    2. 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

    将上面的二维数据转换成 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
    
    • 如果某个元素缺失,逗号仍要保留

    • 二维数据的表头可以作为数据存储,也可以另行存储

    • 逗号为英文半角逗号,逗号与数据之间无额外空格

    如果数据中包含逗号,数据的两侧要增加一个引号,以此来表达这个逗号不是分割元素的逗号。也可以使用一个转义符号来进行转义。


    3. 二维数据的存储

    • 按行存或者按列存都可以,具体由程序决定

    • 一般索引习惯:ls[row][column],先行后列

    • 根据一般习惯,外层列表每个元素是一行,按行存


    4. 二维数据的处理

    二维数据的读入处理

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

    fo = open(fname)
    ls = []
    for line in fo:
        line = line.replace("
    ","")
        ls.append(line.split(","))
    fo.close()
    

    二维数据的写入处理

    将数据写入CSV格式的文件

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

    二维数据的逐一处理
    采用二层循环

    ls = [[1,2], [3,4], [5,6]] #二维列表
    for row in ls:
        for column in row:
            print(column)
    

    以上内容资料均来源于中国大学MOOC网-北京理工大学Python语言程序设计课程
    课程地址:https://www.icourse163.org/course/BIT-268001

  • 相关阅读:
    网页布局色块
    多物体运动
    elasticsearch基础命令
    mysiam,innodb
    git常用命令
    redis内存淘汰机制
    PHP运行模式
    MySQL主从延迟
    ip、uv、pv
    缓存出现的几种情况
  • 原文地址:https://www.cnblogs.com/keepcode/p/14452993.html
Copyright © 2011-2022 走看看