更新时间:2021年11月18日09时28分 来源:黑马程序员 浏览次数:
程序中与数据相关的操作分为数据的存储与读写。下面将对如何存储与读写不同维度的数据进行讲解。
1.数据存储
数据通常存储在文件之中,为了方便后续的读写操作,数据通常需要按照约定的组织方式进行存储。一维数据呈线性排列,一般用特殊字符分隔,具体示例如下。
(1)使用空格分隔:成都 杭州 重庆 武汉 苏州 西安 天津
(2)使用逗号分隔:成都,杭州,重庆,武汉,苏州,西安,天津
(3)使用&分隔:成都&杭州&重庆&武汉&苏州&西安&天津
如上所示,在存储一维数据时可使用不同的特殊字符分隔数据元素,但有几点需要注意。
(1)同一文件或同组文件一般使用同一分隔符分隔。
(2)分隔数据的分隔符不应出现在数据中。
(3)分隔符为英文半角符号,一般不使用中文符号作为分隔符。
二维数据可视为多条一维数据的集合,当二维数据只有一个元素时,这个二维数据就是一维数据。国际上通用的一二维数据存储格式为CSV(Commae-Separeted Values,逗号分隔值),CSV文件以纯文本形式存储表格数据,文件的每一行对应表格中的一条数据记录,每条记录由一个或多个字段组成,字段之间使用逗号(英文、半角)分隔。因为字段之间可能使用除逗号外的其他分隔符,所以CSV也称为字符分隔值。具体示例如下:
姓名,语文,数学,英语,理综 刘婧,124,137,145,260 张华,116,143,139,263 邢昭林,120,130,148,255 鞠依依,115,145,131,240 黄丽萍,123,108,121,235 赵越,132,100,112,210
CSV广泛应用于不同体系结构下网络应用程序之间表格信息的交换之中,它本身并无明确格式标准,具体标准一般由传输双方协商决定。
2.数据读取
在Windows平台中,CSV文件的后级名为.csv,此种文件可通过办公软件OfficeExcel或记事本打开。将以上示例中CSV格式的数据存储到当前路径下的score.csv文件中,通过Python程序读取该文件中的数据并以列表形式打印,具体代码如下:
csv file = open('score.csv') lines = [] for line in csv_file: line = line.replace ('\n', '') lifs.append (line.split(',')) print(lines) csv_file.close()
以上程序打开文件score.csv后通过对文件对象进行迭代,在循环中逐条获取文中的记录,根据分隔符“,”切割记录,将记录存储到了Python列表 lines之中,最后在终端打印了列表lines。执行程序,程序的执行结果如下:
号“:”分隔;其次value本身是一个数组,该数组中存储了多名学生的成绩,通过方括号组织,其中的元素通过分号“;”分隔;作为数组元素的学生成绩的每项属性亦为键值对,每项属性通过逗号“,”分隔。
除JSON外,网络平台也会使用XML、HTML等格式组织多维数据。XML和HTML格式通过标签组织数据。例如将学生成绩以XML格式存储,具体格式如下:
<高三二班考试成绩> <姓名>陈诚</姓名><语文>124</语文><数学>127<数学/><英语>145<英语/> <理综>259<理综/> <姓名>黄思</姓名><语文>116</语文><数学>143<数学/><英语>119<英语/> <理综>273<理综/> ...... </高三二班考试成绩>
对比JSON格式与XML、HTML格式可知,JSON格式更为直观,且数据属性的key只需存储一次,在网络中进行数据交换时耗费的流量更小。