《Python程序设计基础》课件_第7章文件及数据格式化.pptx
;01;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;2文件写入方法;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;MORETHENTEMPLATE;;;;;1一维数据的存储
一维数据有多种存储方式,通常采用特殊分隔符进行分隔存储。
(1)由空格分隔,例如:
李白杜甫白居易
(2)由逗号分隔
李白,杜甫,白居易
(3)由特殊符号分隔
李白#杜甫#白居易
;2二维数据的存储
二维数据由多个一维数据组成。这里介绍csv格式文件,可用于存储一、二维数据。这是一种通用的文件存储格式,被商业和科学广泛应用。CSV格式是一种逗号分隔值(Comma-SeparatedValues,CSV)的文件存储方式,其文件以纯文本形式存储数据。CSV文件是指具有以下特征的文件:
(1)纯文本格式,文件存储的是字符序列。
(2)开头不留空行,以行为单位
(3)可包含或者不含列名,包含列名时则放在文件的第一行
(4)文件由记录组成,每一行是一条记录。
(5)每行记录的数据之间用半角逗号作分隔符,列为空也要保留逗号
例如,前面的二维列表在文件中可作如下形式保存。
陶渊明,孟浩然,王维
高适,岑参,王之涣
杜甫,陆游,辛弃疾;下面以csv格式文件为例,介绍一二维数据的处理。
1一维数据的处理
从csv文件读入一维数据后,可以用split()函数分隔存放到列表。如果要写入一维列表数据到csv文件中,可以用join()函数将一维列表的各个元素用逗号连接起来写入文件即可。
【例7-5】一维数据的读入
首先,利用Excel建立7.5.csv文件,输入“李白,杜甫,白居易”,见图7-4。
图7-47.5csv文件内容
;下面以csv格式文件为例,介绍一二维数据的处理。
接下来将7.5.csv文件的内容读出到列表ls中,代码如???:
fo=open(7.5.csv,r)
str=fo.read()#读出文件所有内容,结果为字符串
str=str.replace(\n,)#去掉末尾换行符
ls=str.split(,)#以空格分隔str字符串,并将元素存入列表ls
print(ls)
fo.close()
输出为一个一维列表,运行结果如下:
[李白,杜甫,白居易]
;【例7-6】一维数据的写入
fo=open(7.6.csv,w)
ls=[李白,杜甫,白居易]
str=,.join(ls)#将列表内的元素用逗号连接起来保存到str字符串
fo.write(str)#将str字符串写入文件
fo.close()
运行后打开7.6.csv,结果与图7-4相同。;2二维数据的处理
二维数据的处理,包括二维数据从csv格式文件读入到二维列表、二维列表元素的处理以及二维列表写入到csv格式文件中。
【例7-7】从csv格式文件读入到二维列表中
首先,利用Excel输入以下内容,另存为7.7.csv格式文件,见图7-5。
图7-57.7csv文件内容
;接下来从7.7.csv文件中读入内容并保存到二维列表中ls中,代码如下:
fo=open(7.7.csv,r)
ls=[]
for