目录
证书
⑥文件和数据格式化
为确保该篇文章内容的可靠性,先在此附上本人的二级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格式对一二维数据文件的读写。
注:该格式的特点为采用半角逗号将文件内容进行分隔,没有空格与空行。
详情可以查看⑥文件和数据格式化。