2. 数据的组织维度
(1)数据的维度是数据的组织形式。
根据数据的关系不同,数据组织可以分为:一维数据、二维数据,多维数据和高维数据
一维数据采用线性方式组织,对应于数学中数组的概念
二维数据,也称表格数据,采用二维表格方式组织,它包括列表,对应于数学中的矩阵,
多维数据由一维或二维数据在新维度上扩展形式,比如说加上时间维度
高维数据由键值对类型的数据构成,采用对象方式组织,可以多层嵌套。

(2)python中数据的维度
一维数据:列表和集合类型
二维或多维数据:列表
高维数据:字典、JSON、XML、YAML

(3)一维数据的处理
A. 一维数据是最简单的数据组织类型,由于是线性结构,在Python语言中主要采用列表形式表示。

B. 一维数据的文件存储:一维数据的文件存储有多种方式,总体思路是采用特殊字符分隔各数据。常用存储方法包括如下四种:

分隔符 例子
采用空格分隔元素 北京 上海 天津 重庆
采用逗号分隔元素 北京,上海,天津,重庆
采用换行分隔元素
采用其他特殊符号元素 北京;上海;天津;重庆

这4种方法中,逗号分隔的存储格式叫作CSV格式,即逗号分隔值。存储的文件一般采用**.csv**为扩展名。英文逗号!

大部分编辑器都支持直接读入或保存文件为CSV格式
一维数据保存成CSV格式后,各元素采用逗号分隔,形成一行。从Python表示到数据存储,需要将列表对象输出为CSV格式以及将CSV格式读入成列表对象

C. 对一维数据进行处理
=> 将CSV格式读入成列表对象
首先需要从CSV格式文件读入一维数据,并将其表示为列表对象。
需要注意,最后一个元素后面有一个换行符(“\n”)。需要采用字符串的strip()方法去掉尾部的换行符,进一步使用split()方法以逗号进行分割。

f = open("city.csv", "r")
ls = f.read().strip('\n').split(",")
f.close()
print(ls)>>>
['北京', '上海', '天津', '重庆']

=> 将列表对象输出为CSV格式

ls = ['北京', '上海', '天津', '重庆']
f = open("city.csv", "w")
f.write(",".join(ls)+ "\n")
f.close()#文件写入的内容:
北京,上海,天津,重庆

(4)二维数据的处理
A. 二维数据由多个一维数据构成,可以看作是一维数据的组合形式。
二维数据可以采用二维列表来表示,即列表的每个元素对应二维数据的一行这个元素本身也是列表类型,其内部各元素对应这行中的各列值。
二维数据一般采用相同的数据类型存储数据,便于操作。为求统一,将数值统一表示为字符串形式

B. 二维数据由一维数据组成。用CSV格式文件存储。CSV文件的每一行是一维数据,整个CSV文件是一个二维数据。

C. 列表与csv文件的转换

=> 二维列表对象输出为CSV格式文件
采用遍历循环字符串的join() 方法相结合。

ls = [
['指标', '2014年', '2015年', '2016年'],
['居民消费价格指数', '102', '101.4', '102'],
['食品', '103.1', '102.3', '104.6'],
['烟酒及用品', '994', '102.1', '101.5'],
['衣着', '102.4', '102.7', '101.4'],
['家庭设备用品', '101.2', '101', '100.5'],
['医疗保健和个人用品', '101.3', '102', '101.1'],
['交通和通信', '99.9', '98.3', '98.7'],
['娱乐教育文化', '101.9', '101.4', '101.6'],
['居住', '102', '100.7', '101.6'],
]
f = open("cpi.csv", "w")
for row in ls:f.write(",".join(row)+ "\n")
f.close()

=> 从CSV文件读入数据的方法

f = open("cpi.csv", "r")
ls = []
for line in f:ls.append(line.strip('\n').split(","))
f.close()
print(ls)

运行结果:

D. 二维数据的处理
二维数据处理等同于二维列表的操作,与一维列表不同,二维列表一般需要借助循环遍历实现对每个数据的处理,基本代码格式如下:

for row in ls:for item in row:<对第row行第item列元素进行处理>

例子:

f = open("cpi.csv", "r")
ls = []
for line in f:ls.append(line.strip('\n').split(","))
f.close()
for row in ls:line = ""for item in row:line += "{:10}\t".format(item)print(line)

运行结果:

文件和数据格式化之数据的组织维度相关推荐

  1. java学习笔记——springmvc 之 数据自定义转换器 数据格式化 JSR303数据校验返回与接收JSON(@RequestBody 和 @ResponseBody)

    九.数据绑定流程分析 1.提出问题 日期字符串格式的表单参数,提交后转换为Date类型 <!--    解决问题: 1.数据类型转换 2.数据格式 3.数据校验 --> BirthDay ...

  2. 移动硬盘格式化后数据怎么恢复

    移动硬盘格式化后数据怎么恢复?移动硬盘是可移动的大容量存储设备,经常用来存储很多重要的数据文件.但同样使用中遇到的问题也不少,比如说移动硬盘的格式化.误删除.操作失误等.如果遇到不小心把移动硬盘格式化 ...

  3. Python语法基础(U.7)-文件和数据格式化

    为mooc网站的北京理工大学的 嵩天 .黄天羽 .礼欣 三位老师的课程笔记. 欢迎starGITHUB可下载源码 7 文件和数据格式化 7.1 文件的使用 7.2 实例11:自动轨迹绘制 7.3 一维 ...

  4. python第七章文件和数据格式化选择题_《计算机二级Python语言程序设计考试》第7章:文件和数据格式化...

    注明:本系列课程专为全国计算机等级考试二级 Python 语言程序设计考试服务 目录 考纲考点 文件的使用: 文件打开.关闭和读写 数据组织的维度:一维数据和二维数据 一维数据的处理:表示.存储和处理 ...

  5. 计算机二级python 知识点篇(文件和数据格式化)

    计算机二级python 知识点篇(文件和数据格式化) 考纲考点 文件的使用: 文件打开. 关闭和读写 数据组织的维度: 一维数据和二维数据 一维数据的处理: 表示. 存储和处理 二维数据的处理: 表示 ...

  6. Python二级(09)——文件和数据格式化

    一.知识导图 二.文件的使用 1.文件 I.文件是存储在辅助存储器上的一组数据序列,可 以包含任何数据内容.概念上,文件是数据的集 合和抽象.文件包括两种类型:文本文件和二进 制文件. 2.文件的类型 ...

  7. 第 7 章 文件和数据格式化

    整理的文章内容主要来源为高教版<计算机等级考试二级 Python>教程视频讲义,并且更正了原讲义中的错误的地方. 专栏文章索引如下: 考试大纲 第 1 章 程序设计基本方法 第 2 章 P ...

  8. 笔记-7:文件和数据格式化

    1.文件的使用 1.1 文件类型 文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容.概念上,文件是数据的集合和抽象. 文件包括两种类型,文本文件和二进制文件. 文本文件一般由单一特定编码的 ...

  9. 北理工嵩天Python语言程序设计笔记(8 文件和数据格式化)

    前言 本文是对<北理工 嵩天/黄天宇/礼欣 Python语言程序设计>的学习笔记,供自己查阅使用. 文章目录 北理工嵩天Python语言程序设计笔记(目录) 北理工嵩天Python语言程序 ...

  10. 05 文件和数据格式化

    05 文件和数据格式化 一.基本概念 二.文件的编码 1.ANSI编码 2.Unicode编码 3.UTF-8编码 4.Unicode big endian编码 5.Python语言的文件编码 三.文 ...

最新文章

  1. 计算机xp怎么做备份,怎样备份xp系统电脑上的所有数据?在xp系统中备份所有文件的方法...
  2. Hash MD5 CRC 知识
  3. java中的位移运算符_java中的移位运算符(, , )
  4. 安卓三维展示源码_谷歌也翻车了?全球数亿安卓设备难逃一“劫”,用户隐私数据库被利用长达10年!...
  5. 晋升工程经理几个月后,我选择退回编程岗位的起点
  6. Android调用系统相册、拍照以及裁剪最简单的实现(兼容7.0)
  7. 线程的四种实现方式,一些方法及线程的同步
  8. excel趋势线公式导出_除了类 Excel, SpreadJS 表格控件还能为系统开发带来什么价值?...
  9. python解析excel函数
  10. iOS人脸识别(CoreImage)
  11. tcp服务器响应超时,tcp客户端与服务器的连接超时
  12. N,N-二甲基十二烷基胺(CAS 112-18-5)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  13. 2Wire_2700hg系列无线路由器功率增大方法!
  14. 双线macd指标参数最佳设置_MT4双线MACD设置方法及扩展应用
  15. 良心安利体育运动ppt幻灯片素材网站
  16. 玩 Spring框架
  17. 软件测试行业能干的多少岁?是不是真的只能干到35.....
  18. 陶哲轩等人用编程方法,推翻了60年几何难题「周期性平铺猜想」
  19. java怎么实现购物车_java实现网上购物车程序
  20. 当今世界不和谐的主要原因(作业真烦人,那就随便写一个吧)

热门文章

  1. HashData:守护数据安全 筑牢数字经济底座
  2. 高动态范围图像(HDR)处理
  3. html5qq空间代码作业,免费QQ空间背景代码大全(高手整理)
  4. 异地如何在北京换驾照
  5. 生活中很多“被我们忽视的东西”存在价值
  6. 【Yolov5】训练yolov5模型并集成到安卓应用中(中)——模型转化
  7. Java实现局域网流量监控
  8. python登陆126邮箱记录
  9. 我看肖老师的《明日世界-云端计算下的程序设计需求》视频时,做的简单笔记
  10. 老调重谈:C语言中的指针和数组