python文本处理功能示例

下面是平常使用中的一些总结。环境是python 3.3
0. 基础
在python中,使用str对象来保存字符串。str对象的建立很简单,使用单引号或双引号或3个单引号即可。例如:
s='nice' #output: nice
s="nice" #output: nice
s="Let's go" #output: Let's go
s='"nice"' #output: "nice"
s=str(1) #output: 1
s='''nice
day''' #output: nice
#output: day
在python中,/n代表换行符,/t代表tab键
在python中,引用str中的某一段的内容很容易。例如:
s='123456789'
s[0] #第一个字符: output: 1
s[-1] #倒数第一个字符: output: 9
s[:2] #前2个字符: output: 12
s[-2:] #后2个字符: output: 89
s[2:-2] #去掉前2个和后2个剩余的字符 output:34567
在python中,判断某一字符串是否在另一个字符串中:
'nice' in 'nice day' #output :True
1. 按照某种格式生产字符串
在python中,str对象有一个方法用于实现这种功能,这个方法是:str.format(*args,**kwargs)。例子:
'1+2={0}'.format(1+2) #{0}是占位符,其中0表示是第一个需要被替换的。output: 1+2=3
'{0}:{1}'.format('nice','day') #{0},{1}是占位符,{0}指第一被替换,替换成nice,{1}第二个被替换,替换成day。output:nice:day
实际用途:
我的手机拍照之后,手机的命名如下:
IMG_20130812_145732.jpg
IMG_20130812_144559.jpg
在电脑中,会根据相片的日期放到不同的文件夹,文件夹命名如下:
2013-08-10
2013-08-12
所以说,要对相片的命名进行一个转换,这样才能映射到相应的文件夹转。代码如下:
def getName(name):
return '{0}-{1}-{2}'.format(name[4:8],name[8:10],name[10:12])

getName('IMG_20130812_145732.jpg') #output: 2013-08-12
2. 替换字符串中的某一部分
替换有2中方法,一种是使用str对象自带的方法replace(),另一种是使用re模块中sub(0的。例如:
#replace
s='nice day'
s.replace('nice','good') #s本身不改变,但会返回一个字符串:output: good day

#sub
import re
s='cat1 cat2 cat3 in the xxx'
re.sub('cat[0-9]','CAT',s) #s本身不改变,但会返回一个字符串:output: CAT CAT CAT in the xxx
对于re模块中的sub,需要了解正则表达式。
3. 拆分字符串
Excel可以到处逗号分隔符格式的文件。对于这样的字符串,我们可以把它拆成相应的字段。实现这个功能,主要使用str对象的自带方法split。例如:
s='one,two,three'
s.split(',') #output: ['one', 'two', 'three']
4. 合并字符串
除了拆分功能之外,我们可以将拆分好的字段合并成一个字符串。实现这个功能,主要使用str对象自带的方法join。例如:
l=['one', 'two', 'three']
','.join(l) #output: one,two,three
这个功能还可以在this模块中看到。
task 5. 整合
关于字符串的操作有很多。如果仅仅对一两行字符串进行操作,显示不出他的威力。在工作中,有可能会对文档进行处理,有的文档很大,手工的方式不好处理,这时,python就有用武之地。
例如,从数据库中导出一个表table_1的数据,导出来的数据格式如下:
insert into table_1(field1,filed2,field3)
values(value1,value2,value3);
...
insert into table_1(field1,filed2,field3)
values(value1,value2,value3);
数据生成的文件的大小大概为700M。要把这个表的数据导入到另一个数据库的表table_2中,table_1和table_2的表结构相同,仅仅是名字不同。这时,我们可以写一个python脚本,将table_1替换成table_2。例如:
path_in='table1.data'
path_out='table2.data'
f_in=open(path_in)
f_out=open(path_out,'w')
for i in f_in.readlines():
if 'insert into table_1(field1,filed2,field3)' in i:
f_out.write(i.repalce('tabel_1','table_2'))
else:
f_out.write(i)
f_in.close()
f_out.close()
结束语
使用python,让日常工作多了一个工具,多了一个选择。可以将一些重复的工作交给机器做,节省时间,提高效率。

(0)

相关推荐

  • Win10新特性!虚拟键盘新增文本预测功能 仅搜索时可用

    微软并没有在发布会上介绍Win10所具备的全部新特性。近来就有用户发现,Win10的虚拟键盘新增了文本预测功能,当然是在英文输入状态下。 通过上面的这幅图片,我们可以看到Win10上的这种文本预测功能 ...

  • Win10的虚拟键盘新增了文本预测功能

    微软并没有在发布会上介绍Win10所具备的全部新特性。近来就有用户发现,Win10的虚拟键盘新增了文本预测功能,当然是在英文输入状态下。 通过上面的这幅图片,我们可以看到Win10上的这种文本预测功能 ...

  • Win10系统虚拟键盘英文输入状态下新增文本预测功能

    微软并没有在发布会上介绍Win10所具备的全部新特性。留待用户区发现和探索,有些用户发现Win10的虚拟键盘新增了文本预测功能,当然是在英文输入状态下。下面系统之家小编就介绍一下Win10虚拟键盘新功 ...

  • Win10系统虚拟键盘新增文本预测功能怎么样?

    微软并没有在发布会上介绍Win10所具备的全部新特性。留待用户区发现和探索,有些用户发现Win10的虚拟键盘新增了文本预测功能,当然是在英文输入状态下。下面小编就介绍一下Win10虚拟键盘新功能。 W ...

  • Win10虚拟键盘新增文本预测功能

    微软并没有在发布会上介绍Win10所具备的全部新特性.近来就有用户发现,Win10的虚拟键盘新增了文本预测功能,当然是在英文输入状态下. 通过上面的这幅图片,我们可以看到Win10上的这种文本预测功能 ...

  • excel2013怎么进行文本筛选?excel文本筛选功能介绍

    Excel办公软件是每个办公人员的必备工具之一, Excel功能是非常强大的.但是,如何让它灵活运用,就得那操作人员对它的了解,那么excel2013怎么进行文本筛选?下面小编就为大家介绍excel文 ...

  • gawk GNU 的 awk,具有很强的文本处理功能

    [gawk 是 GNU 的 awk,具有很强的文本处理功能,简洁优美.] 第一章 前言 第二章 简介 第三章 读取输入档案 第四章 印出 第五章 Patterns 第六章 算式(Expression) ...

  • UG平面文本铣削功能怎么使用?

    UG NX中有一个平面文本铣削功能,该功能主要是对于注释文字的直接选取加工,不需要另外生成拉伸实体特征,直接可以通过曲线文字来指定深度范围. 1.建立一个正方体模型,进入加工模块.创建工件坐标系,创建 ...

  • 怎么使用电脑excel软件中文本倒序功能

    当我们在使用电脑中的excel软件的时候,如果想要将一些内容倒序的话,应如何操作呢?接下来就由小编来告诉大家.具体如下:1.第一步,打开电脑中的excel文档,并输入一些内容.2.第二步,将原内容复制 ...