Python 程序设计讲义(66):Python 的文件操作——数据的处理
Python 程序设计讲义(66):Python 的文件操作——数据的处理
目录
- Python 程序设计讲义(66):Python 的文件操作——数据的处理
- 一、一维数据的存储
- 1、分隔元素
- 2、`CSV`文件格式
- 二、二维数据的处理
- 1、二维数据的表示
- 2、二维数据的存储
- 3、二维数据的读取
数据在计算机处理之前需要进行一定的组织,用来表示之间的基本关系和逻辑。根据数据关系的不同,这些被组织的数据可以分为一维数据和二维数据。
一维数据采用线性方式组织,和数学中的数组相似,由有序或无序数据构成。
二维数据也称表格数据,使用二维表格方式组织,和数学中的矩阵类似。常见的表格都属于二维数据。
一、一维数据的存储
一维数据是最简单的数据组织类型,采用线性方式组织数据,类似于数组和集合。
一维数据使用列表表示。一维数据中的信息可以保存到文件中,通过文件进行存储。
1、分隔元素
将一维数据存储到文件中,需要考虑每个元素之间使用的分隔符。在Python
中提供四种分隔方式。
(1)使用空格分隔元素
例如:
经济与管理学院 信息工程学院 艺术学院 计算机学院 农学院 文法学院
(2)使用英文逗号分隔元素
例如:
经济与管理学院,信息工程学院,艺术学院,计算机学院,农学院,文法学院
(3)使用换行符分隔元素
例如:
经济与管理学院
信息工程学院
艺术学院
计算机学院
农学院
文法学院
(4)使用自定义符号分隔元素
例如:
经济与管理学院:信息工程学院:艺术学院:计算机学院:农学院:文法学院
2、CSV
文件格式
在上述的四种分隔元素中,使用逗号进行分隔的存储格式称为CSV
格式。大部分编辑器都可以直接读取或保存为CSV
格式文件。
例如:把上面的信息保存为CSV
格式文件
程序代码如下:
l1=['经济与管理学院','信息工程学院','艺术学院','计算机学院','农学院','文法学院']
s=",".join(l1) #将逗号插入到列表的各个元素之间,返回一个新字符串
with open(r"d:\python示例\college.csv","w",encoding="GBK") as f:f.write(s)
with open(r"d:\python示例\college.csv","r",encoding="GBK") as f:print(f.read())f.seek(0,0)print(f.read().split(','))程序的运行结果为:
经济与管理学院,信息工程学院,艺术学院,计算机学院,农学院,文法学院
['经济与管理学院', '信息工程学院', '艺术学院', '计算机学院', '农学院', '文法学院']
在磁盘上查看文件信息,如下图所示:
使用Excel
打开文件college
,结果如下图所示:
二、二维数据的处理
二维数据由多个一维数据构成,可以看作是一维数据的组合形式。
二维数据也可以使用列表来表示,列表中的每个元素又是一个列表类型。
1、二维数据的表示
例如:有如下表中的数据
学号 | 姓名 | 性别 | 年龄 | 班级 |
---|---|---|---|---|
20230214101 | 张晶晶 | 女 | 20 | 信管231 |
20230214102 | 王海涛 | 男 | 21 | 信管231 |
20230214103 | 马远飞 | 男 | 21 | 信管232 |
20230214104 | 赵丽萍 | 女 | 21 | 信管232 |
上面表格中的数据可以使用如下的列表表示:
list=[["20230214101","张晶晶","女","20","信管231"],["20230214102","王海涛","男","21","信管231"],["20230214103","马远飞","男","21","信管232"],["20230214104","赵丽萍","女","21","信管232"]
]
为了便于处理,把列表中的所有数据都转化为字符串。
2、二维数据的存储
二维数据是多个一维数据的组合,因此二维数据也可以使用CSV
文件格式存储。
例如:把上面的信息保存为CSV
格式文件
程序代码如下:
l1=[["20230214101","张晶晶","女","20","信管231"],["20230214102","王海涛","男","21","信管231"],["20230214103","马远飞","男","21","信管232"],["20230214104","赵丽萍","女","21","信管232"]
]
with open(r"d:\python示例\stu.csv","w",encoding="GBK") as f:for row in l1:s=",".join(row)f.write(s+'\n')print("文件存储完毕")程序的运行结果为:
文件存储完毕
在磁盘上查看文件信息,如下图所示:
使用Excel
打开文件college
,结果如下图所示:
3、二维数据的读取
当读取CSV
格式文件中的二维数据时,也需要对数据进行处理,才能正确地显示二维数据。
例如:
with open(r"d:\python示例\stu.csv","r",encoding="GBK") as f:s=f.readlines()l1=[]for item in s:l1.append(item.strip().split(","))print(l1)程序的运行结果为:
[['20230214101', '张晶晶', '女', '20', '信管231'], ['20230214102', '王海涛', '男', '21', '信管231'], ['20230214103', '马远飞', '男', '21', '信管232'], ['20230214104', '赵丽萍', '女', '21', '信管232']]