Python-文件和数据格式化
文件的使用
>文件的类型
文件的理解:文件是数据的抽象和集合
-文件时存储在辅助存储器上的数据序列
-文件是数据存储的一种形式
-文件展现形态:文本文件和二进制文件
文本文件vs.二进制文件
-文本文件和二进制文件只是文件的展示方式
-本质上,所有文件都是二进制形式存储
-形式上,所有文件采用两种方式展示
文本文件
-由单一特定编码组成的文件,如UTF-8编码
-由于存在编码,也被看成是存储着长字符串
-适用于例如:.txt文件、.py文件等
二进制文件
-直接由比特0和1的组织,没有统一字符编码
-一般存在二进制0和1的组织结构,即文件格式
-适用于例如:.png文件、.avi文件等
-文本形式:中国是个伟大的国家!
-二进制形式:b'\xd6\xd0\xb9\xfa\xca\xc7\xb8\xf6\xce\xb0\xb4\xf3\xb5\ xc4\xb9\xfa\xbc\xd2\xa3\xa1'
f.txt文件保存: "中国是个伟大的国家!"
#文本形式打开文件
tf = open("f.txt", "rt")
print(tf.readline())
tf.close()
#中国是个伟大的国家!
#二进制形式打开文件
bf = open("f.txt", "rb")
print(bf.readline())
bf.close()
#b'\xd6\xd0\xb9\xfa\xca\xc7\xb8\xf6\xce\xb0 \xb4\xf3\xb5\xc4\xb9\xfa\xbc\xd2\xa3\xa1'
>文件的打开和关闭
文件处理的步骤:打开-操作-关闭




文件的关闭
<变量名>.close
>文件内容的读取






>数据文件写入


fo = open("output.txt","w+")
ls = ["中国", "法国", "美国"]
fo.writelines(ls)
for line in fo:
print(line)
fo.close()
#没有任何输出
fo = open("output.txt","w+")
ls = ["中国", "法国", "美国"]
fo.writelines(ls)
fo.seek(0)
for line in fo:
print(line)
fo.close()
#中国法国美国
一维数据的格式化和处理
>数据组织的维度
一维数据:由对等关系的有序或无序,采用线性方式组织
二维数据:由多个一维数据构成,是一维数据的组合形式

>一维数据的表示
如果数据间有序:使用列表类型
-for循环可以遍历数据,进而对每个数据进行处理
如果数据间无序:使用集合类型
-for。。。
>一维数据的存储
存储方式一: 空格分隔
中国 美国 日本 德国 法国 英国 意大利
-使用一个或多个空格分隔进行存储,不换行
-缺点:数据中不能存空格
存储方式二:逗号分隔
中国,美国,日本,德国,法国,英国,意大利
-使用英文半角逗号分割数据进行存储,不换行
-缺点:数据中不能有英文逗号
存储方式三:其他方式
中国$美国$日本$德国$法国$英国$意大利
-使用其他符号或符号组合隔离,建议采用特殊符号
-缺点:需要根据数据特点定义,通用性差
>一维数据的处理


txt=open(fname).read()
ls=txt.split()
f.close
ls
#['中国', '美国', '日本', '德国 ', '法国', '英国', '意大利']

txt=open(fname).read()
ls=txt.split("$")
f.close
ls
#['中国', '美国', '日本', '德国 ', '法国', '英国', '意大利']
采用空格分隔方式将数据写入文件
ls = ['中国', '美国', '日本']
f = open(fname, 'w')
f.write(' '.join(ls))
f.close()
采用特殊分隔方式将数据写入文件
ls = ['中国', '美国', '日本']
f = open(fname, 'w')
f.write('$'.join(ls))
f.close()
二维数据的格式化和处理
>二维数据的表示



>CSV数据存储格式
CSV: Comma-Separated Values
-国际通用的一二维数据存储格式,一般.csv扩展名
-每行一个一维数据,采用逗号分隔,无空行
-Excel和一般编译软件都可以读入或另存为CSV文件

-如果某个元素缺失,逗号仍要保留
-二维数据的表头可以作为数据存储,也可以另行存储
-逗号为英文半角逗号,逗号与数据之间无额外空格
>二维数据的存储

>二维数据的处理
二维数据的读入处理
从CSV格式文件中读入数据
fo =open(fname)
ls=[]
for line in fo:
line = line.replace("\n","")
ls.append(line.split(","))
fo.close()
二维数据的写入处理
将数据写入CSV格式文件
ls=[[],[],[]] #二维列表
f=open(fname,'w')
for item in ls:
f.write(','.join(item)+'\n')
f.close
二位数据的逐一处理
采用二层循环
ls=[[],[],[]] #二维列表
for row in ls:
for column in row:
print(ls[row][colum])
部分图片来自慕课https://www.icourse163.org/course/BIT-268001 若侵权请告知删除
Python-文件和数据格式化的更多相关文章
- python 文件与数据格式化
https://www.cnblogs.com/li-zhi-qiang/p/9269453.html 文件和数据格式化 https://www.cnblogs.com/li-zhi-qi ...
- Python文件和数据格式化(教程)
文件是一个存储在副主存储器的数据序列,可包含任何数据内容. 概念上,文件是数据的集合和抽象,类似的,函数是程序的集合和抽象. 用文件形式组织和表达数据更有效也更加灵活. 文件包括两种形式,文本文件和二 ...
- Python基础篇(五)_文件和数据格式化
Python基础篇_文件和数据格式化 文件的使用:文件打开.关闭.读写 文件打开:通过open()函数打开文件,并返回一个操作文件的变量. 使用语法:<变量名> = (<文件路径以及 ...
- python学习笔记(11)--文件与数据格式化
文件的概念: 文件是数据的抽象和集合,是存储在辅助存储器上的数据序列,文件是数据存储的一种形式,文件的展现形态,文本文件和二进制文件. 文本文件输出: f.txt文件保存:“我是中国人” >&g ...
- Python语言程序设计基础(7)—— 文件和数据格式化
返回字符串 file = input() #返回字符串 fo = open(file,"r").read(6) print(fo) 返回列表形式 file = input() fo ...
- python文件操作及格式化输出
1 文件与IO 1.1读写文本数据 读写各种不同的文本数据,如ASCII,UTF-8,UTF-9编码等. 使用带有rt模式的open()函数读取文本文件. 例如: with open('db', 'r ...
- python基础之 数据格式化
%还是format 皇城PK Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是form ...
- python --文件读取数据
读取整个文件: 首先创建一个文件,例如我创建了一个t x t文件了. 然后我想读取这个文件了,我首先将上面的这个文件保存在我即将要创建的Python的文件目录下, 即读取文件成功. 解析: 函数ope ...
- 【Python文件处理】递归批处理文件夹子目录内所有txt数据
因为有个需求,需要处理文件夹内所有txt文件,将txt里面的数据筛选,重新存储. 虽然手工可以做,但想到了python一直主张的是自动化测试,就想试着写一个自动化处理数据的程序. 一.分析数据格式 需 ...
- SpringMVC(三)-- 视图和视图解析器、数据格式化标签、数据类型转换、SpringMVC处理JSON数据、文件上传
1.视图和视图解析器 请求处理方法执行完成后,最终返回一个 ModelAndView 对象 对于那些返回 String,View 或 ModeMap 等类型的处理方法,SpringMVC 也会在内部将 ...
随机推荐
- ORACLE获取某个时间段之间的月份列表和日期列表
ORACLE获取某个时间段之间的月份列表获取某个时间段之间的月份列表(示例返回2009-03到2010-03之间的月份列表) SELECT TO_CHAR(ADD_MONTHS(TO_DATE('20 ...
- Create schema error (unknown database schema '')
Andrey Devyatka 4 years ago Permalink Raw Message Hi,Please tell me, can I use the static library in ...
- WebService基于soapheader的身份验证
用WebService开发接口十分方便.但接口提供的数据不应是对所有人可见的,我们来利用SoapHeader写一个简单的身份验证Demo 目录 创建WebService项目(带SoapHeader) ...
- Python网咯爬虫 — Scrapy框架应用
Scrapy框架 Scrapy是一个高级的爬虫框架,它不仅包括了爬虫的特征,还可以方便地将爬虫数据保存到CSV.Json等文件中. Scrapy用途广泛,可以用于数据挖掘.监测 ...
- 洛谷P4397 [JLOI2014]聪明的燕姿
传送门 dfs的时候莫名其妙深度太大过不了……然后死活找不出哪里错…… 首先,约数和这东西是个积性函数,或者直接点的话就是如果$$n=p_1^{a_1}p_2^{a_2}p_3^{a_3}…p_m^{ ...
- [App Store Connect帮助]六、测试 Beta 版本(3.3)管理测试员:查看测试员信息
如果您使用“TestFlight Beta 版测试”,您可以查看关于测试员的信息,并衡量测试员的参与度. 必要职能:“帐户持有人”职能.“管理”职能.“App 管理”职能.“开发者”职能或“营销”职能 ...
- Java实现日期时间对象的使用
利用类对象计算日期 在利用Java语言进行信息系统开发中,经常需要对日期进行计算和转换,比如,设置了某活动的开始日期和结束日期,系统需要判断当前是否是该活动时间,在Java开发的信息系统中,通常日期以 ...
- 【知识总结】多项式全家桶(三)(任意模数NTT)
经过两个月的咕咕,"多项式全家桶" 系列终于迎来了第三期--(雾) 上一篇:[知识总结]多项式全家桶(二)(ln和exp) 先膜拜(伏地膜)大恐龙的博客:任意模数 NTT (在页面 ...
- 295 Find Median from Data Stream 数据流的中位数
中位数是排序后列表的中间值.如果列表的大小是偶数,则没有中间值,此时中位数是中间两个数的平均值.示例:[2,3,4] , 中位数是 3[2,3], 中位数是 (2 + 3) / 2 = 2.5设计一个 ...
- Java开发笔记(九十二)文件通道的基本用法
前面介绍的各色流式IO在功能方面着实强大,处理文件的时候该具备的操作应有尽有,可流式IO在性能方面不尽如人意,它的设计原理使得实际运行效率偏低,为此从Java4开始增加了NIO技术,通过全新的架构体系 ...