Python基础篇(五)_文件和数据格式化
Python基础篇_文件和数据格式化
文件的使用:文件打开、关闭、读写
文件打开:通过open()函数打开文件,并返回一个操作文件的变量。
使用语法:<变量名> = (<文件路径以及文件名>,<打开模式>)
open()函数的七种打开模式:
|
打开模式 |
含义 |
|
‘r’ |
只读模式。如果文件不存在,则返回异常FileNotFoundError,默认值 |
|
’w’ |
覆盖写模式,文件不存在则创建,存在则完全覆盖原文件 |
|
’x’ |
创建写模式,文件不存在则创建,存在则返回异常FileExistsError |
|
’a’ |
追加写模式,文件不存在则创建,存在则在原文件最后追加内容 |
|
’b’ |
二进制文件模式 |
|
’t’ |
文本文件模式,默认值 |
|
’+’ |
与r/w/x/a一同使用,在原功能的基础上增加同时读写功能 |
文件关闭、读写:
关闭:文件使用结束后使用close()方法关闭,释放文件的使用授权。
使用方法:<变量名>.close()
读写:根据打开方式不同,文件读写会根据文本文件或二进制打开方式有所不同
|
方法(读入) |
含义 |
|
f.read(size=-1) |
从文件中读入整个文件内容,参数可选,如果给出,则读入前size长度的字符串或字节流 |
|
f.readline(size=-1) |
从文件中读入一行内容。参数可选,如果给出,则读入该行前size长度的字符串或字节流 |
|
f.readlines(hint=-1) |
从文件中读入所有行,以每行为元素形成一个列表。参数可选,如果给出,读入hint行 |
|
f.seek(offset) |
改变当前文件操作指针的位置,offset的值; 0——文件开头;1——当前位置;2——文件结尾 |
|
方法(写入) |
含义 |
|
f.write(s) |
向文件写入一个字符串或字节流 |
|
f.writelines(lines) |
将一个元素为字符串的列表写入文件 |
数据组织的维度:一维数据、二维数据、多维数据
根据数据的关系不同划分一维、二维、多维数据
一维数据由对等关系的有序或无序数据构成,采用线性方式组织。
二维数据又称表格数据,由关联关系数据构成,采用二维表格方式组织
多维数据由二维数据扩展而来,高维数据是键值对都城的数据形式
一维数据的处理:表示、存储、处理
表示:采用列表形式表示
存储:总体存储思路是采用特殊符号分隔各数据。例:空格分隔、逗号分隔、换行分隔、其他特殊符号分隔
处理:通过字符串.join()方法将各元素表示为字符串,进行文件写入,
通过字符串.split()方法分解各元素,从文件中读入一维数据
使用遍历循环对一维数据个元素进行操作
二维数据的处理:表示、存储、处理
表示:采用二维列表表示,即:列表的每一个元素对应二维数据的一行,这个元素本身也是列表类型,其每部各元素对应这一行中的各列值。
处理:二维数据处理等同于二维列表的操作,需要借助两层循环遍历实现对每个数据的处理,基本代码格式如下:
for row in ls :
for item in row:
<对第row行第item列元素进行处理>
采用CSV格式对一二维数据文件的读写:
CSV格式:使用逗号分隔元素的储存格式。一种通用的、相对简单的文件格式。
一维数据保存成CSV格式后,各元素采用逗号分隔,形成一行
二维数据由一维数据组成,CSV文件的每一行是一维数据,整个CSV文件是一个二维数据
以二维数据为例,从CSV格式文件读入数据并将其表示为二维列表对象的方法如下:其中data.csv可以任意csv文件的实例:
f = open(“data.csv”,”r”)
ls = []
for line in f :
ls.append(line.strip(‘\n’).split(“,”))
f.close()
将二维列表数据写入CSV文件的方法如下:data.csv为输出文件
#假设二维列表ls已经存在
f = open(“data.csv”,”w”)
for row in ls :
f.write(“,”.join(row)+”\n”)
f.close()
Python基础篇(五)_文件和数据格式化的更多相关文章
- Python基础篇(三)_函数及代码复用
Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...
- Python基础篇(二)_基本数据类型
Python基础篇——基本数据类型 数字类型:整数类型.浮点数类型.复数类型 整数类型:4种进制表示形式:十进制.二进制.八进制.十六进制,默认采用十进制,其他进制需要增加引导符号 进制种类 引导符号 ...
- Python基础篇(一)_基本语法元素
Python基础篇——基本语法元素 缩进:体现强制可读性,一般缩进4个空格.一个或多个Tab 注释:单行注释----以 # 开头 多行注释----每行以 # 开头,以 # 结束 变量:无须提前声明.可 ...
- Python基础篇(四)_组合数据类型的基本概念
Python基础篇——组合数据类型的基本概念 集合类型:元素的集合,元素之间无序 序列类型:是一个元素向量,元素之间存在先后关系,通过序号进行访问,没有排他性,具体包括字符串类型.元组类型.列表类型 ...
- Python基础篇(五)
bool用于判断布尔值的结果是True还是False >>> bool("a") True >>> bool(3) True >>& ...
- Linux基础篇五:文件操作篇(三剑客)
cut截取字段: -d 指定分割符 -f 指定第几列 例题1: echo "i am dusonglin ,my qq is 380343680 " >dusongl ...
- python基础篇(五)
PYTHON基础篇(五) 算法初识 什么是算法 二分查找算法 ♣一:算法初识 A:什么是算法 根据人们长时间接触以来,发现计算机在计算某些一些简单的数据的时候会表现的比较笨拙,而这些数据的计算会消耗大 ...
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
- Python(四)基础篇之「文件对象&错误处理」
[笔记]Python(四)基础篇之「文件对象&错误处理」 2016-12-08 ZOE 编程之魅 Python Notes: ★ 如果你是第一次阅读,推荐先浏览:[重要公告]文章更新. ...
随机推荐
- mvn相关介绍和命令
1.前言 Maven,发音是[`meivin],"专家"的意思.它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目完全迁移并应用maven ...
- PowerDesigner的文章
来自iteye的PowerDesigner的相关文章,写的不错,这里引用一下 PD12 建模工具的使用 博客分类: PowerDesigner .net http://jpkc.zjbti.net.c ...
- 为啥java要使用 set ()和get()方法---封装
封装性:属性封装,方法封装,类封装,组件封装等 例如:如果属性没有封装,那么在本类对象之外创建对象后,可以直接访问属性 private关键字,只能在本类中访问,想要在外部访问私有属性,我们需要提供公有 ...
- 【内推】平安产险大数据测试开发工程师,15-30k!
平安产险技术岗内部推荐-大数据测试开发工程师等-欢迎中年人和2020应届生 上班地点:深圳福田平安金融中心 另有大量 上海 北京 成都 广州 岗位 交流qq群 828186629 微信pythonte ...
- iOS自建分发
1.首先满足具有https证书的域名和空间.2.通常使用github或者国内第三方托管平台.3.上传ipa文件到空间内,获取ipa文件的下载地址.4.然后编辑plist文件(注意:ipa文件和plis ...
- iPhone5se难逃“酱油”命运?
苹果春季新品发布会即将举行,按照惯例,只会有一些不痛不痒的产品出现,最起码,不会有革命性的爆点,今年大抵相似,最大的亮点莫过于,苹果有可能会推出一款名叫"iPhone5se"的手机 ...
- 爬虫cookies详解
cookies简介 cookie是什么? Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份.进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密).定义于 ...
- Salesforce与微信公众号集成实现输入关键字搜索文章
本篇参考微信官方文档:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html 随 ...
- 关于js传送json到.net后台处理
这里的内容好像跟标题不太符合,应该是如何实现将请求得到的结果作为另一个请求的请求参数,方法就是使用json处理配合全局变量进行处理 今天做项目遇到以下情景,页面请求获得一个list数据,然后要将得到的 ...
- 5,Hadoop中的文件
1,文件结构 · bin:脚本和命令目录. · etc:配置文件目录. · sbin:命令目录,主要包含HDFS和YARN中各类服务的启动和关闭,依赖于bin中的脚本. · share:各个模块编译后 ...