在生活、工作中,python一直都是一个好帮手。在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

task 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

task 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,需要了解正则表达式。

task 3. 拆分字符串

Excel可以到处逗号分隔符格式的文件。对于这样的字符串,我们可以把它拆成相应的字段。实现这个功能,主要使用str对象的自带方法split。例如:

s='one,two,three'
s.split(',')                            #output: ['one', 'two', 'three']

task 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,让日常工作多了一个工具,多了一个选择。可以将一些重复的工作交给机器做,节省时间,提高效率。

python——常用功能之文本处理相关推荐

  1. python常用代码总结-Python常用功能函数系列总结(一)

    本节目录 常用函数一:获取指定文件夹内所有文件 常用函数二:文件合并 常用函数三:将文件按时间划分 常用函数四:数据去重 写在前面 写代码也有很长时间了,总觉得应该做点什么有价值的事情,写代码初始阶段 ...

  2. python常用功能_Python常用功能函数系列总结(七)

    本节目录 常用函数一:批量文件重命名 常用函数一:批量文件重命名 # -*- coding: utf-8 -*- """ DateTime : 2021/02/08 10 ...

  3. python常用功能_python----常用功能

    sintance和type class Foo(object): pass class Bar(Foo): pass obj = Bar() # isinstance用于判断,对象是否是指定类的实例 ...

  4. pythonsave函数_Python常用功能函数

    Python常用功能函数汇总 1.按行写字符串到文件中 import sys, os, time, json def saveContext(filename,*name): format = '^' ...

  5. python常用文本处理功能

    python常用文本处理功能 在生活.工作中,python一直都是一个好帮手.在python的众多功能中,我觉得文本处理是最常用的.下面是平常使用中的一些总结.环境是python 3.3 0. 基础 ...

  6. csh/python/tcl常用功能

    csh/python/tcl常用功能小总结 Csh 逐行读取并处理文本 if语句及字符串的匹配 Python Python逐行读取文件内容的三种方法 使用while readline 使用for 使用 ...

  7. python数组去重函数_Python常用功能函数系列总结(一)

    本节目录 常用函数一:获取指定文件夹内所有文件 常用函数二:文件合并 常用函数三:将文件按时间划分 常用函数四:数据去重 写在前面 写代码也有很长时间了,总觉得应该做点什么有价值的事情,写代码初始阶段 ...

  8. python如何实现选项功能_python几种常用功能如何实现 python几种常用功能实现代码实例...

    本篇文章小编给大家分享一下python几种常用功能实现代码实例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 1.python 程序退出的几种方式 import sys s ...

  9. arcgis python脚本筛选与线共边的面_ArcGIS公共函数Python脚本,Arcgis,常用,功能

    Arcgis常用功能 Python脚本 对一些常用功能的python脚本进行总结,方便以后直接调用. 1. 根据属性值删除行 arcpy.MakeFeatureLayer_management(out ...

最新文章

  1. Scala模式匹配的亮点——Martin Odersky访谈(四)
  2. 日本政府用AI分配对象了!给你分一个的话,敢不敢要?
  3. hibernate更新部分字段的几种方法
  4. 本地连接虚拟机 Oracle数据库 报ORA-12541:TNS:no listener
  5. java中针对数字怎么判断_java如何对输入的数字进行判断
  6. 在html中 正确的嵌套方式是( ).,HTML及网页制作练习题-完整版
  7. [图]美专家称人类可能永远无法飞出太阳系
  8. typora 字体颜色_Typora 使用教程
  9. bzoj 3717 [PA2014]Pakowanie
  10. 洛谷 P1560 [USACO5.2]蜗牛的旅行Snail Trails
  11. 计算机管理 合并分区,硬盘分区进行合并 硬盘分区后怎么合并
  12. row format delimited fields terminated by “,“含义是以‘,‘结尾的行格式分隔字段
  13. 解决 手机使用10193 拨打国际长途时候 国际拨号助手 自动增加区号的问题
  14. php不是当前时间,php取得时间与当前时间不一样
  15. 美国iPS细胞治疗癌症最新进展
  16. pip install warning
  17. IDS(入侵检测系统)简介
  18. 创富路径---李嘉诚--王永庆--刘永好
  19. 2021-07-30 Java练习题
  20. col-xs-*,col-sm-*,col-md-* 的意义

热门文章

  1. 修改 WTK 中仿真器的尺寸
  2. 555555555555555555555555555555555555555555555。。。。。。。。。。。。。。。。。。
  3. SPI flash烧录器EZP2019试用记录
  4. [TCP/IP] Linux 搭建服务器局域网
  5. Python txt转pcd(带RGB值,点云)
  6. centos7 moloch安装及优化
  7. Python优缺点总结
  8. 注册美国AppleID
  9. 什么是十二时辰养生法
  10. 【C语言】数组的基本知识详细讲解(一维数组、二维数组、越界、存储.....