目录
证书
⑥文件和数据格式化
证书
为确保该篇文章内容的可靠性,先在此附上本人的二级Python语言程序设计证书加以证实。
⑥文件和数据格式化
1、文件的使用:
注:文件的类型有以下两类:
(a) 文本文件:由单一特定编码的字符组成,一般字符编码为utf-8,例:.txt文件、.py文件。
(b) 二进制文件:由比特0与1组成,并且字符编码不统一,例:.png文件、.avi文件。
(1) 文件打开:使用open()函数实现文件打开。
<文件变量名>=open(<文件路径与文件名>,<打开模式>)
绝对路径:<文件变量名>=open(<文件路径\文件名>,<打开模式>)
相对路径:<文件变量名>=open(<文件名>,<打开模式>)
r
只读模式,若文件不存在,则返回异常FileNotFoundError。
w
覆盖写模式,若文件不存在则创建,否则完全覆盖源文件。
a
追加写模式,若文件不存在则创建,否则在文件末尾追加新内容。
x
创建写模式,若文件不存在则创建,否则返回异常FileExistsError。
b
二进制文件打开模式,不可以单独使用。
t
文本文件打开模式,不可以单独使用。
+
若与r/w/x/a一起使用,可以同时增加读写功能。
(2) 文件读写:使用以下函数实现文件读写。
f.read(size)
size参数
从文件中读入所有内容后,返回一个字符串。
若有参数,则读入size长度的字符串或字节流。
f.readline(size)
size参数
从文件中读入一行内容后,返回一个字符串。
若有参数,则读入size长度的字符串或字节流。
f.readlines(hint)
hint参数
从文件中读入每行内容后,返回一个列表。
若有参数,则读入hint行的字符串或字节流。
f.write(s)
将一个字符串或字节流写入文件。
f.writelines(ls)
将一个元素为字符串或字节流的列表写入文件。
(3) 文件关闭:使用close()函数实现文件关闭。
<文件变量名>.close()
关闭一个已打开的文件。
2、数据组织的维度:
(1) 一维数据:由对等关系的有序或无序数据组成,采用线性方式组织,例:列表、数组、集合。
(2) 二维数据:由关联关系数据组成,采用二维表格组织,例:表格。
(3) 高维数据:由最基本的二元关系展示数据间的复杂结构,例:键值对。
3、一维数据的处理:
(1) 表示:
若数据间有序,则使用列表类型,例:list=[2,4,6,8]。
若数据间无序,则使用集合类型,例:set={8,2,4,6}。
(2) 存储:数据内容不可以包括此时用于分隔元素的符号。
空格分隔:
半角逗号分隔:
特殊符号分隔:
2 4 6 8
2,4,6,8
2*4*6*8 #举例。
(3) 处理:
根据分隔符号从文件中读入数据:
波霸,布丁,焦糖 #举例:采用半角逗号进行分隔。
>>> ls=[]
>>> fo=open("C:\Users\Desktop\奶茶.txt","r",encoding="utf-8")
>>> f=fo.read()
>>> ls=f.split(",") #根据半角逗号读入。
>>> fo.close()
>>> ls
['波霸', '布丁', '焦糖']
根据分隔符号将数据写入文件中:
>>> ls=["波霸","布丁","焦糖"]
>>> fo=open("C:\Users\Desktop\奶茶.txt","w",encoding="utf-8")
>>> f=fo.write(",".join(ls)) #举例:根据半角逗号写入。
>>> fo.close()
4、二维数据的处理:
(1) 表示:
list=[[-1,-2,-3,-4,-5,-6],[1,2,3,4,5,6],] #二维列表。
(2) 存储:采用CSV存储格式,除了可以按行存储,还可以按列存储。
>>> ls=[[1,2,3],[4,5,6]]
>>> for i in ls:
print(i,end="")
>>> ls=[[1,2,3],[4,5,6]]
>>> for i in range(3):
n=[n[i] for n in ls]
print(n,end="")
[1, 2, 3][4, 5, 6]
[1, 4][2, 5][3, 6]
(3) 处理:采用CSV处理格式。
从CSV格式的文件中读入数据:
>>> ls=[]
>>> fo=open("C:\Users\Desktop\数字.csv","r",encoding="utf-8")
>>> for i in fo:
ls.append(i.strip("n").split(","))
>>> fo.close()
>>> ls
[['1', '2', '3'], ['4', '5', '6']]
将数据写入CSV格式的文件中:
>>> ls=[["1","2","3"],["4","5","6"]]
>>> fo=open("C:\Users\Desktop\数字.csv","w",encoding="utf-8")
>>> for i in ls:
fo.write(",".join(i)+"n") #根据半角逗号写入后,增加换行符。
>>> fo.close()
5、采用CSV格式对一二维数据文件的读写。
注:该格式的特点为采用半角逗号将文件内容进行分隔,没有空格与空行。
详情可以查看⑥文件和数据格式化。