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 也会在内部将 ...
随机推荐
- 【高德地图API】地理编码与逆地理编码
一.地理编码 该功能实现地理编码服务,即地址匹配,从已知的地址描述到对应的经纬度坐标的转换,即根据地址信息,查询该地址所对应的点坐标等,地址(address) 为必选项,城市(city)为可选项. & ...
- MARK ZUCKERBERG, A letter to our daughter(转)
A letter to our daughter MARK ZUCKERBERG·WEDNESDAY, DECEMBER 2, 2015 Dear Max, Your mother and I ...
- bzoj 1705: [Usaco2007 Nov]Telephone Wire 架设电话线【dp】
i的初始化写成2了于是成功查错2h--怕不是个傻子 设f[i][j]为第i根高为j,转移是 \[ f[i][j]=min(f[i-1][k]+abs(k-j)*c+(j-h[i])^2)(j>= ...
- P4161 [SCOI2009]游戏
传送门 首先这题的本质就是把\(n\)分成若干个数的和,求他们的\(lcm\)有多少种情况 然后据说有这么个结论:若\(p_1^{c_1}+p_2^{c_2}+...+p_m^{c_m}\leq n\ ...
- 测试神器Swagger的相关使用
1.Swagger简介 swagger官网地址: https://swagger.io/ swagger官网文档介绍地址: https://swagger.io/about/ swagge是一个易 ...
- sql server 触发器详细应用
SQL Server 触发器 触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发 ...
- linux学习之路7 linux下获取帮助
help 帮助 ls -h或者ls - -help man 最常用的帮助命令 man (+数字 )+命令 (数字代表文档帮助类型) man -k 关键字 可以用来查询包含该关键字的文档 info 与m ...
- 51nod1344 走格子
1344 走格子 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注 有编号1-n的n个格子,机器人从1号格子顺序向后走,一直走到n号格子,并需要从n号格 ...
- Manacher BestCoder Round #49 ($) 1002 Three Palindromes
题目传送门 /* Manacher:该算法能求最长回文串,思路时依据回文半径p数组找到第一个和第三个会文串,然后暴力枚举判断是否存在中间的回文串 另外,在原字符串没啥用时可以直接覆盖,省去一个数组空间 ...
- [转]从数据到代码——基于T4的代码生成方式
本文转自:http://www.cnblogs.com/artech/archive/2010/10/23/1859529.html 在之前写一篇文章<从数据到代码>(上篇.下篇)中,我通 ...