Python之文件和数据格式化学习笔记
这是文章目录
- 1,前言
- 2,文件的使用
- 2.1,文件的类型
- 2.1.1文件的理解
- 2.1.2,文本文件与二进制文件
- 2.2,文件的打开和关闭
- 2.3,文件的内容读取
- 2.4,数据文件的写入
- 一维数据的格式化和处理
- 数据组织的维度
- 一维数据的表示
- 一维数据的存储
- 一维数据的处理
- 二维数据的格式化和处理
- 二维数据的表示
- CSV数据存储格式
- 二维数据的存储
- 总结
1,前言
职场人士都在学Python,说是可以文件和数据,处理Word、xlsx、PDF等等非常方便。学到了就是加分,升职不是梦。当然这一章不会有这部分内容,没学,不会。但是这可能是一个入门,用Python打开文件?修改文件?·····
2,文件的使用
2.1,文件的类型
2.1.1文件的理解
提起类型,必先理解这是什么,文件是啥呢?
- 文件是数据的抽象和集合
- 文件是存储在辅助存储器上的数据序列
- 文件是数据存储的一种形式
- 文件展现形态:文本文件和二进制文件
打了四行定义,不长不短。说说我的看法叭。把数据看成抽象,多条相同类型的数据就要放进一个文件,此时此刻,文件就像是一个大集合。
成绩表.xlsx里面就是有很多数据。把这些数据都放到成绩表.xlsx里面,因此像个大集合。
Q:什么是辅助存储器?
电脑主机板外的储存器。如硬碟、光碟、随身碟等。就是放盘里。这里应该是指文件夹吧?文件夹也是一种文件。
存储在硬盘里,有顺序的排列着。
好,什么是二进制文件和文本文件
2.1.2,文本文件与二进制文件
放在前面:从文件的名字可以看出他们文件的展示方式不同,看到二进制不就是0和1组成的一大串数字吗?
所有的文件都是以二进制的方式存储。。我好闲记得CPU里面都是二进制来着。
所以文件都采用这两种方式展示,
- 文本文件
由单一特定编码组成的文件,utf-8
由于存在编码,也被看成是存储着的长字符串
适用于例如:.txt文件、.py文件
-二进制文件
直接由比特0和1组成,没有同意字符编码
一般存在二进制0和1的组织结构,即文件格式
适用于例如:.png文件、.AVI文件
这就是他们的区别,实际上并不难,一个字符串,一0和1
2.2,文件的打开和关闭
以上都是叙述,那么正文现在开始!
文件的操作步骤:打开----操作-----关闭
- 文件的打开:
a = open( , )
open打开的意思,
文件的存储状态变为文件的文件的占用状态
这句语句应该是这样滴
<变量名> = open(<文件名>, <打开模式>)
文件名里面包括文件的路径和名称,如果和源文件同一路径可以忽略不计。
打开模式:文本or二进制、读or写
还有其他的打卡方式:
文件的打开方式 | 描述 |
---|---|
“r” | 只读模式,默认值,如果文件不存在返回FileNotFoundError |
“w” | 覆盖写模式,文件不存在则创建,存在则完全覆盖 |
“x" | 创建写模式,文件不存在则创建,存在则返回FileExistsError |
“a” | 追加写模式,文件不存在则创建,存在则在文件最后最佳内容 |
“b” | 二进制文件模式 |
“t” | 文本文件模式。默认值 |
“+” | 与r/w/x/a一同使用,在原功能基础上增加同时读写功能 |
覆盖、创建、追加我想都不难理解吧。
例如:
f = open(f.txt, w)
- 文件的关闭:
a.close()#<变量名>.close()
close关闭的意思。有打开文件则就有关闭文件,因此open()
与.close()
是一对。。
2.3,文件的内容读取
我们先定义一段文本:
打开这段文本的代码
f = open("1.txt","r")
操作方法 | 描述 |
---|---|
.read(size=-1) | 读入全部内容,如果给出参数,读入前size长度 |
>>>s = f.read(5)
linux#size为5
>>>s = f.read()
linux
Python
c
Java
c++#size没有参数在打印全部文本
操作方法 | 描述 |
---|---|
.readline(size=-1) | 读入一行内容,如果给出参数,读入该行前size长度 |
>>>s = f.readline(3)
lin
>>>s = f.readline()
linnx
操作方法 | 描述 |
---|---|
.readlines(hint=-1) | 读入文本所有行, 一每行为元素形成列表,如果给出参数,读入前hint行 |
>>>s = f.readlines(-1)
['linux\n', 'Python\n', 'c\n', 'Java\n', 'c++']
这就是这三个方法,论这三个方法有什么区别,很简单
- read:用通俗易懂的话说读全文,返回字符串类型
- ReadLine:读这行,还是字符串类型
- Readlines:可以看做读全文,每一行为元素形成一个列
提一下遍历文本
- 全文遍历:简单实用的.read()方法,
- 逐行遍历:分享一段代码
>>>f = open("1.txt","r")
>>>for line in f.readlines(-1):
>>> print(line)
linuxPythoncJavac++
为什么会是这样
2.4,数据文件的写入
文件的读取一共说了三个方法,有读取,那么应该有写入,怎么用Python进行写呢,一起看看吧
操作方法 | 描述 |
---|---|
.write(s) | 向文件写入一个字符串或字节流 |
f = open("测试.txt","w")
f.write("人生苦短,我学Pyhon")
f.close()
注意那个“w”,为什么写不进去,为什么写进去是空白的,前者与“w
”有关系,写模式,后者,记得close()
操作方法 | 描述 |
---|---|
.writelines(lines) | 将一个元素全为字符串 的列表写入文件 |
f = open("测试.txt","w")
s = ["中国","法国","美国"]
f.writelines(s)
>>>f.close()
中国法国美国
操作方法 | 描述 |
---|---|
.seek(offset) | 改变当前文件操作指针的位置,offset含义如下:0–文件开头;1—当前位置;2----文件结尾 |
一维数据的格式化和处理
数据组织的维度
从一个数据到一组数据,一个数据表达的含义到一组数据表达一个或多个含义。
- 维度:一组数的组织形式
- 一维数据:由对等关系的有序或无序数据结构,对应标列表、数组和集合等概念。
- 二维数据:由多个一维数据构成,是一维数据的组合形式。表格是典型的二维数据,其中表头是二维数据的一部分。
- 多维数据:由一维或二维数据在新维度上扩展形式。
- 高维数据:仅利用最基本的 二元关系展示数据间的复杂结果。键值对
说了这么多,其实我也没明白。 - 一维数据类似线性。
几个同学的成绩:99、89、75、65、88;[“中国”,“法国”,“美国”],可以用集合、数组或者列表定义。就是一维数据。 - 二维数据:类似平面。可以说是用 两个点确定一个数据。
为什么会是表格呢,以成绩单为例,要找出一人的成绩,就需要他的姓名和你要找的哪一科成绩。定位。 - 高维数据,立体。对应应该是三点确定一个数据
数据的操作周期:
存储<->表示<->操作
一维数据的表示
一维数据现在了解了吗
- 是个有序数列,用列表类型。
因此列表类型可以表示一维有序序列
for循环可以对数列进行遍历,从而方便对数据进行处理。
- 是个无序数列,用集合类型
同上也可以for循环遍历。
一维数据的存储
- 空格存储
使用一个或多个空格存储,不换行。但是数据中不可以存在空格
Java liunx c python hexo
- 逗号分隔
使用英文半角逗号分隔数据进行存储,不换行,但是和空格一样,数据中不可以出现英文半角逗
Java,liunx,c,python,hexo
- 其他方式:
使用其他符号或符号组合分隔,建议采用特殊符号:但是需要根据数据特点定义,通用性较差
Java$liunx$c$python$hexo
Java&liunx&c&python&hexo
一维数据的处理
存储<->表示
- 将存储的数据写入程序
- 将程序表示的数据写入文件
- 从空格分隔的文件读入数据
定义一段文本:
>>>f = open("1.txt","r").read()
>>>s = f.split()
>>>print(s)
['Java', 'liunx', 'c', 'python', 'hexo']
当然举一反三,特殊符号的那个
>>>ls = txt.split("&")
以上是读,那么接下来就是写了
- 空格分隔方式
ls = ["python","Java","c"]
f = open("f.TXT","w")
f.write(" ".join(ls))
f.close()
- 特殊分隔方式
f.write("$ ".join(ls))
不难发现这两个方法我们都很熟悉。
二维数据的格式化和处理
二维数据的表示
前面说列表不可以用于表达二维数据,现在可以了,但是有个条件:二维列表。什么是二维列表?很简单
[[1,2,3],[4,5,6]]
列表里面还有列表。则就是一个二维的。当然二维列表也是可以遍历的,两层for即可。
list1 = [[1,2,3],[4,5,6]]
count = []
for i in list1:for j in i:print(j)
方法还有很多,这不是唯一的求解
CSV数据存储格式
1.什么是CSV?
- Comma-Separated Values
- 国际通用的一维二维数据存储格式,一般.csv是扩展名
- 每行一个一维数据,采用逗号分隔,无空格。
- Excel和一遍编辑软件都可以读入或另存为CSV文件
什么意思呢?国际都认,我记得在电脑里看见过这类文件。
用记事本打开应该是这样~
如果某个元素缺失,逗号依旧保留。
二维数据的表头可以作为数据存储,也阔以另行存储。
逗号为英文半角逗号,逗号与数据之间无额外空格。
这个都很好理解。
怎么存储呢
按行存?按列存?按行存或者按列存都可以,这个有程序而定。
一般索引习惯:Is[row][column],先行后列
根基一般习惯,外层列表每个元素是一行,按行存。
二维数据的存储
- .从CSV格式文件中读入数据。
我们先定义一段文本
fo = open("fname.csv")
ls = []
for line in fo:line = line.replace("\n","")ls .append(line.split(","))
print(ls)
fo.close()
结果:
- 将数据写入CSV格式文件
s = [["1","2","3"],["4","5","6"],["7","8","9"]]
f = open("fname.csv","w")
for a in s:f.write(",".join(a) + "\n")
f.close()
.
有图有真相
3. 二维数据的逐一处理
这部分我们提前了。两个for即可
总结
这就是这一章的学习笔记,写完这篇笔记,我也就了解的差不多了,学会了,
当然学到这里还不算自动化办公的成果,与其用Python写文章,在生成Word,那我为什么不直接打开Word呢,还不用写代码。
当然可以吧表格的数据导出来求最大值,最小值。
如果看到了这里,谢谢您,如果对您有帮助,这是我的荣幸。如有有不足,欢迎指出,谢谢您
Python之文件和数据格式化学习笔记相关推荐
- Python文件和数据格式化学习笔记
一.文件的使用 1. 文件的定义: 文件是数据的抽象和集合:文件是存储在辅助存储器上的数据序列:文件是数据存储的一种形式: 2. 文件的展现方式:文本文件和二进制文件(两种) 文本文件和二进制文件只是 ...
- python之文件与数据格式化
⽂件的作⽤: 可以永久的保存数据. ⽂件在硬盘中存储的格式是⼆进制. 打开⽂件 读写⽂件 关闭⽂件 读⽂件-r #1.打开文件,是文件从硬盘中存到内存中 # open(file, mode='r' , ...
- python读取文件路径格式_Python学习笔记读写文件之文件与文件路径
随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...
- 北理工嵩天Python语言程序设计笔记(8 文件和数据格式化)
前言 本文是对<北理工 嵩天/黄天宇/礼欣 Python语言程序设计>的学习笔记,供自己查阅使用. 文章目录 北理工嵩天Python语言程序设计笔记(目录) 北理工嵩天Python语言程序 ...
- python气象数据可视化学习笔记6——利用python地图库cnmaps绘制地图填色图并白化
文章目录 1. 效果图 2. cnmaps简介及安装 2.1 写在前面 2.2 cnmaps简介和安装 3. 导入库 4. 定义绘图函数 4.1 使用get_adm_maps返回地图边界 4.2 ax ...
- Python语法基础(U.7)-文件和数据格式化
为mooc网站的北京理工大学的 嵩天 .黄天羽 .礼欣 三位老师的课程笔记. 欢迎starGITHUB可下载源码 7 文件和数据格式化 7.1 文件的使用 7.2 实例11:自动轨迹绘制 7.3 一维 ...
- python第七章文件和数据格式化选择题_《计算机二级Python语言程序设计考试》第7章:文件和数据格式化...
注明:本系列课程专为全国计算机等级考试二级 Python 语言程序设计考试服务 目录 考纲考点 文件的使用: 文件打开.关闭和读写 数据组织的维度:一维数据和二维数据 一维数据的处理:表示.存储和处理 ...
- 计算机二级python 知识点篇(文件和数据格式化)
计算机二级python 知识点篇(文件和数据格式化) 考纲考点 文件的使用: 文件打开. 关闭和读写 数据组织的维度: 一维数据和二维数据 一维数据的处理: 表示. 存储和处理 二维数据的处理: 表示 ...
- Day06-Python文件和数据格式化
简介 此系列主要记录若干年前学习Python的心路历程,本文为第六章(同时也是基础内容的最后一章)Python文件和数据格式化.经过以上学习应该已经掌握Python的基本编程. 文件的使用: 数据的抽 ...
最新文章
- 【经典书】随机矩阵理论与无线网络
- hive值乘以0.01保留一位小数_Hive窗口函数01-SUM、MIN、MAX、AVG
- fatal error C1075: “{”: 未找到匹配令牌
- 通俗讲解分布式锁,看完不懂算我输
- kafka分区及副本在broker的分配
- firefox自动化测试的常用插件
- Android开发面试题之求一个数的N次幂手写算法
- 傅里叶变换对噪声进行频谱分析
- 下列类型不是mysql_下列( )类型不是MySQL中常用的的数据类型。
- 浙江大学计算机科学与技术博士培养研究方向,浙江大学计算机科学技术学院博士研究生导师简介:王跃明...
- OpenStack基金会任命马振强为中国区大使
- linux acrobat,开源Linux Acrobat Javascript编辑器
- 正则表达式(用户名表单验证/验证座机号码/正则替换replace)
- html背景色坐标,【已解决】Html的Canvas设置全局背景色
- jQuery打字效果
- 庞博 上海交大计算机系,那个脱口秀的段子手——交大帅哥庞博
- AndroidStudio中Unable to delete directory: app解决办法
- 什么是数据规约,数据规约的策略都有哪些
- 数学美 之 判断线段相交的最简方法
- html5服务器推送消息的各种解决办法,WEB服务器推送消息的各种解决办法
热门文章
- 《尽管去做》警句摘录
- SEO 网络推广108式助你流量猛增
- python curses_简单的Python的curses库使用教程
- 金蝶EAS8.6 金蝶EAS8.5 SHR8.6 金蝶EAS7.5 金蝶EAS7.03
- SpringBoot整合华为云OBS实现文件上传下载
- Java高尔夫_2011年高尔夫巡回赛
- Parietal Lobe and Its Function顶叶及其功能
- 深陷财务造假丑闻,瑞幸咖啡爆单了!外卖小哥惊呼:单子多得忙不过来...烧钱模式已走到尽头?...
- 汉堡王什么汉堡好吃_汉堡王什么汉堡好吃
- powershell批量修改AD域用户UPN后缀