join()方法与CSV格式文件

先说一下什么是方法:
“方法”是程序设计中的一个专有名词,属于面向对象程序设计领域。在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.']
>>> 
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值