文件和数据格式化之数据的组织维度
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)
运行结果:
文件和数据格式化之数据的组织维度相关推荐
- java学习笔记——springmvc 之 数据自定义转换器 数据格式化 JSR303数据校验返回与接收JSON(@RequestBody 和 @ResponseBody)
九.数据绑定流程分析 1.提出问题 日期字符串格式的表单参数,提交后转换为Date类型 <!-- 解决问题: 1.数据类型转换 2.数据格式 3.数据校验 --> BirthDay ...
- 移动硬盘格式化后数据怎么恢复
移动硬盘格式化后数据怎么恢复?移动硬盘是可移动的大容量存储设备,经常用来存储很多重要的数据文件.但同样使用中遇到的问题也不少,比如说移动硬盘的格式化.误删除.操作失误等.如果遇到不小心把移动硬盘格式化 ...
- Python语法基础(U.7)-文件和数据格式化
为mooc网站的北京理工大学的 嵩天 .黄天羽 .礼欣 三位老师的课程笔记. 欢迎starGITHUB可下载源码 7 文件和数据格式化 7.1 文件的使用 7.2 实例11:自动轨迹绘制 7.3 一维 ...
- python第七章文件和数据格式化选择题_《计算机二级Python语言程序设计考试》第7章:文件和数据格式化...
注明:本系列课程专为全国计算机等级考试二级 Python 语言程序设计考试服务 目录 考纲考点 文件的使用: 文件打开.关闭和读写 数据组织的维度:一维数据和二维数据 一维数据的处理:表示.存储和处理 ...
- 计算机二级python 知识点篇(文件和数据格式化)
计算机二级python 知识点篇(文件和数据格式化) 考纲考点 文件的使用: 文件打开. 关闭和读写 数据组织的维度: 一维数据和二维数据 一维数据的处理: 表示. 存储和处理 二维数据的处理: 表示 ...
- Python二级(09)——文件和数据格式化
一.知识导图 二.文件的使用 1.文件 I.文件是存储在辅助存储器上的一组数据序列,可 以包含任何数据内容.概念上,文件是数据的集 合和抽象.文件包括两种类型:文本文件和二进 制文件. 2.文件的类型 ...
- 第 7 章 文件和数据格式化
整理的文章内容主要来源为高教版<计算机等级考试二级 Python>教程视频讲义,并且更正了原讲义中的错误的地方. 专栏文章索引如下: 考试大纲 第 1 章 程序设计基本方法 第 2 章 P ...
- 笔记-7:文件和数据格式化
1.文件的使用 1.1 文件类型 文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容.概念上,文件是数据的集合和抽象. 文件包括两种类型,文本文件和二进制文件. 文本文件一般由单一特定编码的 ...
- 北理工嵩天Python语言程序设计笔记(8 文件和数据格式化)
前言 本文是对<北理工 嵩天/黄天宇/礼欣 Python语言程序设计>的学习笔记,供自己查阅使用. 文章目录 北理工嵩天Python语言程序设计笔记(目录) 北理工嵩天Python语言程序 ...
- 05 文件和数据格式化
05 文件和数据格式化 一.基本概念 二.文件的编码 1.ANSI编码 2.Unicode编码 3.UTF-8编码 4.Unicode big endian编码 5.Python语言的文件编码 三.文 ...
最新文章
- 计算机xp怎么做备份,怎样备份xp系统电脑上的所有数据?在xp系统中备份所有文件的方法...
- Hash MD5 CRC 知识
- java中的位移运算符_java中的移位运算符(, , )
- 安卓三维展示源码_谷歌也翻车了?全球数亿安卓设备难逃一“劫”,用户隐私数据库被利用长达10年!...
- 晋升工程经理几个月后,我选择退回编程岗位的起点
- Android调用系统相册、拍照以及裁剪最简单的实现(兼容7.0)
- 线程的四种实现方式,一些方法及线程的同步
- excel趋势线公式导出_除了类 Excel, SpreadJS 表格控件还能为系统开发带来什么价值?...
- python解析excel函数
- iOS人脸识别(CoreImage)
- tcp服务器响应超时,tcp客户端与服务器的连接超时
- N,N-二甲基十二烷基胺(CAS 112-18-5)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 2Wire_2700hg系列无线路由器功率增大方法!
- 双线macd指标参数最佳设置_MT4双线MACD设置方法及扩展应用
- 良心安利体育运动ppt幻灯片素材网站
- 玩 Spring框架
- 软件测试行业能干的多少岁?是不是真的只能干到35.....
- 陶哲轩等人用编程方法,推翻了60年几何难题「周期性平铺猜想」
- java怎么实现购物车_java实现网上购物车程序
- 当今世界不和谐的主要原因(作业真烦人,那就随便写一个吧)