先说一下什么是方法:
“方法”是程序设计中的一个专有名词,属于面向对象程序设计领域。在Python解释器中内部,所有数据类型都采用面向对象方式实现,因此,大部分数据类型都有一些处理方法。
方法也是一个函数,只是调用方式不同。函数采用func(x)方式调用,而方法则采用<a>.func(x)
形式调用即A.B()形式。方法以 前导对象<a>
为输入。
str.join(iter)中iter是一个具备迭代性质的变量,该方法将str字符串插入iter变量的元素之间,形成新的字符串。简单地说,.jion()方法能够在一组数据中心增加分隔字符。
说人话就是:
看到str.join(iter)了没,对没错,使用的时候就是这种格式,这个iter是一个字符串,你要是想在这个字符串的每个字符之间插上一个其他符号比如逗号,就把逗号放在str的位置。
举个例子:
>>> ",".join("12345")
'1,2,3,4,5'
此处对应一下str.join(iter),str就是"," 而 iter就是"12345" ----就是这么简单!
当然不只可以插入逗号这么简单,也可以插入空格等其他字符,实际上,只要是字符串就都可以插入。
>>> " ".join("PYTHON")
'P Y T H O N'
>>> "你真帅".join("PYTHON")
'P你真帅Y你真帅T你真帅H你真帅O你真帅N'
>>> ",".join(['1','2','3','4','5'])
'1,2,3,4,5'
>>>
其实就是把第一个位置的字符串插入到第二个位置的序列(字符串,列表,元祖)的每个元素之间了。
CSV:
一种存储一维数据的存储格式。
先说一下一维数据的存储:
一维数据的文件存储有多种方式,总体思路是采用采用特殊字符分隔各数据。常用存储方法包括如下四种:
1.采用空格分隔元素:
北京 上海 天津 重庆
2.采用逗号(英文逗号)分隔元素:
北京,上海,天津,重庆
3.采用换行分隔元素:
北京
上海
天津
重庆
4.其他特殊符号分隔,以分号分隔为例:
北京;上海;天津;重庆
这四种方法中,逗号分隔的存储格式叫做CSV格式(Comma-Separated Values,即逗号分隔值),它是一种通用的,相对简单的文件格式,在商业和科学上广泛应用,大部分编辑器都支持直接读入或保存文件为CSV格式,如Windows平台上的记事本或微软Office Excel等。存储的文件一般采用.csv为扩展名。
一维数据保存成CSV格式后,各元素采用逗号分隔,形成一行,这里的逗号是英文逗号。从Python表示到数据存储,需要将列表对象输出为CSV格式以及将CSV格式读入成列表对象。
列表对象输出为CSV格式文件方法如下,采用字符串的join()方法最为方便。
ls = ['北京','上海','天津','重庆']
f = open("city.csv","w")
f.write(",".join(ls)+"\n")
f.close()
程序执行后生成的city.csv文件内容如下。
北京,上海,天津,重庆
行吧,上面结果是我编的,但是理应是这样的
在我电脑上实际结果是这样的:
啊,我知道了,用文本文档打开就好了:
完美!
一维数据的处理:
对一位数据进行处理首先要从CSV格式文件读入一维数据,并将其表示为列表对象。
需要注意,从CSV文件中获得内容时,最后一个元素后面包含了一个换行符("\n")。对于数据的表达和使用来说,这个换行符是多余的,需要采用字符串的strip()方法去掉数据尾部的换行符,进一步使用split()方法以逗号进行分割。
f = open("city.csv","r")
ls = f.read().strip("\n").split(",")
f.close()
print(ls)
输出结果:
>>>
============================================================================ RESTART: C:/Users/matebook/Desktop/Python二级操作题练习/CSV2.py ===========================================================================
['北京', '上海', '天津', '重庆']
>>>
最后再补充一下str.split(sep = None)方法。
str.split(sep)是一个十分常用的字符串处理方法,他能够根据sep分隔字符串str。sep不是必须的,不写sep的时候默认采用空格分隔,sep可以是单个字符,也可以是一个字符串。分割后的内容以列表类型返回。
>>> "Python is an excellent language.".split()
['Python', 'is', 'an', 'excellent', 'language.']
>>> "Python is an excellent language.".split('a')
['Python is ', 'n excellent l', 'ngu', 'ge.']
>>> "Python is an excellent language.".split('an')
['Python is ', ' excellent l', 'guage.']
>>>