首页 > 编程语言 > 详细

Python-文件和数据格式化

时间:2019-02-26 21:46:12      阅读:252      评论:0      收藏:0      [点我收藏+]

文件的使用

 

>文件的类型

 

文件的理解:文件是数据的抽象和集合

-文件时存储在辅助存储器上的数据序列

-文件是数据存储的一种形式

-文件展现形态:文本文件和二进制文件

 

文本文件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-文件和数据格式化

原文:https://www.cnblogs.com/cpg123/p/10440324.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!