数据处理
数据处理包括数据的表示、存储及相关处理。
一维数据的处理
数据表示
一维数据是最简单的数据组织类型,由于是线性结构,在Python语言中主要采用列表形式表示。如:
ls = ["小学,"初中","高中","大学"]
数据存储
一维数据的文件存储有多种方式,总体思路是采用特殊字符分隔各数据。
常用存储方法包括以下四种:
- 采用空格分隔元素:
小学 初中 高中 大学
- 采用逗号分隔元素:
小学,初中,高中,大学
- 采用换行分隔元素:
小学
初中
高中
大学
- 其他符号分隔元素:
小学;初中;高中;大学
其中最常用的是逗号分隔元素的存储方法,其存储格式叫作CSV格式(Comma-Seperated Values,即逗号分隔值)。它是一种通用的、相对简单的文件格式,在商业和科学上广泛应用,一般采用.csv
为扩展名。
列表对象输出为CSV格式文件方法如下,采用字符串的join()
方法最为方便。
ls = ["小学","初中","高中","大学"]
f = open("city.csv","w")
f.write(",".join(ls))
f.close()
数据处理
对一维数据进行处理首先需要从CSV格式文件读入一维数据,并将其表示为列表对象。
需要注意的是,从CSV文件中获得内容时,最后一个元素后面包含了一个换行符("\n").对于数据的表达和使用来说,这个换行符是多余的,需要采用字符串的strip()
方法去掉数据尾部的换行符,然后使用split()
方法以逗号进行分割。
f = open("city.csv","r")
ls = f.read().strip("\n").split(",")
f.close()
print(ls)
由于一维数据采用列表形式表示,所以其处理与列表类型操作一致。
二位数据的处理
数据表示
二维数据由多个一维数据构成,可以看做是一维数据的组合形式。因此,
二维数据可以采用二维列表来表示,即列表的每个元素对应二维数据的一行,这个元素本身也是列表类型,其内部各元素对应这行中的各列值。
ls = [["学历","小学","初中","高中","大学"],
["学费",0,0,1000,5000]]
数据存储
二维数据由一维数据组成,用CSV文件格式存储。
CSV文件的每一行是一维数据,整个CSV文件是一个二维数据。
二维数据存储为CSV格式,需要将二维列表对象写入CSV格式文件以及将CSV格式读入成二维列表对象。其方法如下:
#ls为二维列表,此处省略
f = open("test_2.csv","w+")
for row in ls: #采用遍历循环方法逐行读入
f.write(",".join(row)+"\n")
f.close()
数据处理
对二维数据进行处理首先需要从CSV格式文件中读入二维数据,并将其表示成二维列表对象。
f = open("test_2.csv","r")
ls = [ ]
for line in f:
ls.append(line.strip("\n").split(",")
f.close()
print(ls)
二维数据处理等同于二维列表的操作。与一维列表不同,二维列表一般需要借助循环遍历实现对每个数据的处理,方法如下:
for row in ls:
for item in row:
<对第 row 行 第 item 列元素进行处理>
for row in ls:
line = " "
for item in row:
line += "{:10}\t".format(item)
print(line)