Python一维二维数据的格式化和处理
本章导言
什么是数据格式化
前言:
-学完本章,看待数据会有一种规范/格式化的视角
-方法论:从Python角度理解文件和数据表示
-实践能力:学会编写带有文件输入输出的程序
1. 数据组织的维度
维度:一组数据的组织形式-线性还是二维或更高维
一维数据:由对等关系的有序或无序数据构成,采用线性方式组织
二维数据:由多个一维数据构成,是一维数据的组合形式(表格是典型的二维数据,表头是二维数据的一部分)
多维数据:由一维或二维数据在新维度上扩展形成
2. 数据的操作周期
存储<->表示<->操作 -共三个阶段
3. 一维数据的表示
有序,则使用列表
无序,则使用集合
使用列表和集合都可以用for遍历数据
4. 一维数据的存储
方式一:使用一个或多个空格分隔,不换行
如:中国 美国 日本 意大利
限制:数据中不能存在空格
方式二:使用英文半角逗号进行分隔,不换行
如:中国,美国,日本,意大利
限制:数据中不能有英文逗号
其他方式:采用特殊符号进行分隔
5. 一维数据的处理
例1
f = open("E:/code/python/821/fname.txt",encoding="utf-8")
txt = f.read()
ls = txt.split()
f.close()
print(ls)
输出
['中国', '美国', '日本', '意大利', '德国', '法国', '英国', '意大利']
例2
ls = ['新疆','北京','大连']
f = open("E:/code/python/821/fname.txt","w",encoding="utf-8")
f.write(" ".join(ls))
f.close()
此时查看文件
总结:读出-split() 写入-join()
6. 二维数据的表示
一般使用二维列表-本身和列表中的每个元素都是列表
使用两层for循环遍历每个元素
7. CSV格式与二维数据存储
CSV:Comma-Separated Values 由逗号分隔的值
-国际通用的一二维数据存储格式,一般.csv扩展名
-每行一个一维数据,采用逗号分隔,无空行
-Excel和一般编辑软件都可以读入或另存为.csv文件
约定
-如果某个元素缺失,逗号仍要表格
-二维数据的表头可以作为数据存储,也可以另行存储
如果某一元素包含逗号,需要在元素两侧加引号,表明逗号不是用来分割元素的
一般索引习惯:先行后列 ls[row]column
8. 二维数据的处理
例1 读出
fo = open(fname)ls = []for line in fo:line = line.replace("\n","")#根据每行结束都有回车的习惯ls.append(line.split(","))#括号内得到由,分隔开的列表fo.close()
例2 将数据写入CSV格式的文件
ls = [[],[],[]] #二维列表f = open(fname,'w')for item in ls:f.write(','.join(item) + "\n")
f.close()
例3 遍历
ls = [[1,2],[3,4],[5,6]] #二维列表for row in ls:for column in row:print(column)
输出
1
2
3
4
5
6
出处:北理工Python慕课
相关文章:

让你的网站提速:图片优化网站推荐
页面的加载时间是每一个设计师都担心的数据,或者至少是每个设计师都应该担心的问题。图片的大小肯定是一个需要留意的问题。这就是为什么在这里写了几个有助于优化页面中的图片的小技巧,这些小技巧将有助于大家解决这个问题,这些小技巧也可以…

JAVA对图片的任意角度旋转,以及镜像操作
package relevantTest;/* * 该代码实现了对图像的水平镜像变换,垂直镜像变换,任意角度旋转,jtf的实时监控,以及对图像的缩放变换,以及按钮的若隐若现效果。 * 在对图像进行任意角度旋转时最好是在原始图片未进行任何操…

【组队学习】【34期】百度飞桨AI达人创造营
百度飞桨AI达人创造营 航路开辟者:百度飞桨领航员:六一航海士:阿水、颜鑫、宋泽山、刘洋、张文恺 基本信息 内容属性:合作课程练习平台:https://aistudio.baidu.com/aistudio/course/introduce/25259?ad-frompdg-1…

安装Python第三方库的三个方法
方法一: (cmd命令行) pip 方法【主要方法,适用于99%的情况】【依赖网络状况】 在命令行输入pip -h 可查看该命令帮助信息 常用pip命令 ① pip install <第三方库名> 安装指定第三方库 参数 -U :update对已经安装的进行版本更新 ② pip uninstall <第三方…

java 基础---继承
继承 一,概述 a) 使用extends关键字可以让一个类继承另一个类,继承的类为子类,被继承的类是父类,子类会自动继承父类的所有方法和属性。 b) 继承使得类和类之间产生了关系 c) 子类可以使用super调用父类成员…

建立CentOS 6.9 的Yum本地源
1、建立一个本地Yum的软件仓库1mkdir /media/cdrom2、把CentOS6.9光盘装载到/media/cdrom1mount /dev/cdrom /media/cdrom3、安装createrepo1 rpm -ivh /media/cdrom/Packages/createrepo-[按tab键] deltarpm-[按tab键] python-deltarpm-[按tab键] createrepo-0.9.9-26.…

【组队学习】【34期】零基础学python编程思维
零基础学python编程思维 航路开辟者:邓林权领航员:沈一航海士:覃嘉俊、马子阳、左凯文 基本信息 开源内容:https://linklearner.com/datawhale-homepage/index.html#/learn/detail/6内容属性:公测课程内容说明&…

Python wordcloud库使用说明
1. 介绍 wordcloud是优秀的词云展示第三方库 -词云以词语为基本单位,更加直观和艺术地展示文本 通过词云,我们可以快速提取大段文本的重要信息 2. 安装 (cmd命令行) pip install wordcloud 3. 使用 w wordcloud.WordCloud()代表一个文本对应的词云…

resin-pro-4.0.34 服務器在windows环境下的配置
resin-pro-4.0.34 服務器在windows环境下的配置(轉載请注明作者:icelong) 到caucho網站上http://www.caucho.com/download/下載resin-pro-4.0.34 Windows下載zip版,Linux下載tgz版 Install JDK 1.4 or later. On Unix, set the JAVA_HOME variable or link /usr/jav…

【组队学习】【34期】Python(一级)
Python(一级) 航路开辟者:王思齐、马燕鹏领航员:马燕鹏航海士:马燕鹏 基本信息 开源内容:https://github.com/datawhalechina/team-learning-program/tree/master/PythonTest内容属性:公测课…
matlab处理txt文件数据
read_txtfile.,m clear close all clc %load函数一般将用来导入纯数字的文件,可以是文本格式的文件或者是matlab保存的mat格式的文件 positionload(坐标点.txt); %将.txt数据读入到matlab工作空间[m,n]size(position); %获得数据矩阵的大小 j1; sumx0; sumy0; …

Python os库的使用
1. 基本介绍 os提供通用的、基本的操作系统交互功能 os库是Python的标准库,提供几百个处理函数 常用有路径操作、进程管理、环境参数等几类 路径操作:os.path子库,处理文件路径及信息 进程管理:启动系统中其他程序 环境参数&…

(U3D)Time的使用
Time类包含了一个重要的类变量deltaTime,它表示距上一次调用Update或FixedUpdate所用的时间。 因此通过它可以让游戏对象按照一个常速进行旋转,而不是依赖于它的帧频: function Update() { tranform.Rotate(0, 5 * Time.deltaTime, 0); } …

【组队学习】【34期】Scratch(二级)
Scratch(二级) 航路开辟者:王思齐、马燕鹏领航员:马燕鹏航海士:马燕鹏 基本信息 开源内容:https://github.com/datawhalechina/team-learning-program/tree/master/Scratch内容属性:公测课程…

文件操作示例脚本 tcl
linux 下,经常会对用到文件操作,下面是一个用 tcl 写的文件操作示例脚本: 其中 set f01 [open "fix.tcl" w] 命令表示 打开或者新建一个文件“fix.tcl”,并将其 file ID 设置为 f01,后续就以这个 file ID 来…

Python 第三方库自动安装脚本
需求:批量安装第三方库需要人工干预,能否自动安装? 现假设我们要安装以下库 #BatchInstall.py import os libs {"numpy","matplotlib","pillow","sklearn","requests",\ "jie…

ios 如何改变UISegmentedControl文本的字体大小?
UIFont *Boldfont [UIFont boldSystemFontOfSize:16.0f]; NSDictionary *attributes [NSDictionary dictionaryWithObject:Boldfont forKey:UITextAttributeFont]; [segment setTitleTextAttributes:attributes forState:UIControlStateNormal]; 转载于:https://www.cnblog…

CDN全站加速助力企业云上升级
[2018云栖大会南京分会飞天技术汇专场,阿里巴巴高级技术专家魏晋带来题CDN全站加速助力企业云上升级的演讲。主要内容是结合实际客观案例详细解读全战加速产品如何对动静态业务进行的加速,结合安全WAF等其他运营产品,对如何构建适合大部分业务…

【组队学习】一月微信图文索引
一月微信图文索引 一、组队学习相关 周报: 【新周报(049)】Datawhale组队学习Datawhale组队学习周报(第048周)Datawhale组队学习周报(第047周)Datawhale组队学习周报(第046周&…

CSP 2019-09-1 小明种苹果 Python实现+详解
试题 代码 # N,M分别表示树的棵树和疏果轮数 N,M [int(i) for i in input().split()]leftTrees 0#最后所有树树上的苹果总数 reduceMaxIndex 0#疏果个数最多的苹果编号 reduceMaxSum 0#上面那棵树的个数reduceMaxSum 0 reduceMaxIndex 0 leftTrees 0 for i in range(N)…
Easyui 让Window弹出居中与最大化后居中
easyui1.3.2版本,window的弹出不会居中了。而dialog是会居中的,我们必须为为window的open事件做扩展 代码如下:只要加入以下代码即可.如果你是看了MVC项目系列的,把他放到jquery.easyui.plus.js里面就可以了 //让window居中 var easyuiPanelOnOpen func…

电子学会青少年编程等级考试Python一级题目解析11
Python一级题目解析 题目 (1)下列哪个不是Python的保留字?( )【2020.06】 A. ifB. orC. doD. for (2)下面哪一个不是Python的保留字?( )【2021.06】 A. …

单例和多例的区别
为什么80%的码农都做不了架构师?>>> 需要明白以下几个问题: 1. 什么是单例多例;2. 如何产生单例多例;3. 为什么要用单例多例4. 什么时候用单例,什么时候用多例; 1. 什么是单例多例: 单例&#…

CSP 201909-2 小明种苹果(续)Python实现+详解
试题 代码 # N表示苹果树的棵树 N int(input()) T, D, E 0, 0, 0 # 所有树剩果总数 # 发生苹果掉落的苹果树总数 # 相邻三棵树发生苹果掉落的组数 treeMatrix [] # 存放所有数的数果疏果信息 for i in range(N):treeRow list(map(int, input().split()))treeRow treeRow…

hdu1176
hdu1176 f(x,t)max{ f(x-1,t-1) , f(x,t-1) , f(x1,t-1) }; left(5-t)>0?(5-t):0; right(5t)<10?(5t):10; for left to right <-- i resmax{f(maxt,i)}; #include <stdio.h> #include <string.h> #define mmax(x,y,z) (x)>((y)>(z)?(y):(z))?(…

spring体系
2019独角兽企业重金招聘Python工程师标准>>> 一、spring从体系架构上分为 1. 基本组件框架组合:Spring Framework 2.专项领域应用组件:Spring Portfolio 这个Spring Portfolio主要应用满足于特定的的应用场合:包括了spring Securi…

电子学会青少年编程等级考试四级题目解析07
一、题目:数字反转 Jaime想去城堡探险,在城堡门口遇到了小猫,Jaime必须答对小猫提出的问题才能进入城堡。 小猫出题啦:找到一个四位数,该四位数的各位数字翻转(个位变千位,十位变百位…

如何连接本地mysql+设置无密码登录
如果嫌麻烦,可以设置密码为空,下次登录就不需要密码了。

【GDI+】 线段 文字 定位的问题(二)
继续: 经过上文的分析,似乎可以得到类似这样的想法: 由此 分为左右两侧进行区分绘制,应该就可以获得想要的结果了~ 转载于:https://www.cnblogs.com/loveclumsybaby/p/3440314.html

电子学会青少年编程等级考试Python一级题目解析10
Python一级题目解析 1、题目 下面代码的执行结果是() a 123456789 b "*" print("{0:{2}>{1},}\n{0:{2}^{1},}\n{0:{2}<{1},}".format(a,20,b))A. *********123,456,789 ****123,456,789***** 123,456,789*********B. **…