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




python干啥的
python是一款应用非常广泛的脚本程序语言。在学习Python时,每个人的基础水平不一样,如果你完全是新手,就需要从入门课程或初学者读物开始钻研,不要想着一开始就去挑战高难度课程,我也是零基础学习Python的,因为知道学会并不是件非常容易事情,所以想先泼点冷水,学习Python不是一蹴而就的事情,现在的你...

python能干什么
Python能在数据开发等诸多领域做出贡献,Python的具体作用有:1、用于编写自动化程序语言。2、用于Web 和 Internet开发。3、用于科学计算和统计、人工智能、教育、桌面界面开发等领域。4、用于软件开发和后端开发。5、用于数据科学,包括机器学习、数据分析和数据可视化。

python主要用来干嘛
Python适合财务、设计、运营、策划、销售、HR、金融从业者、电商从业者学习,所设计的行业五花八门。从以上也能看出来,python是很强大的一门语言,可以做:1.系统编程;2.图形处理;3.数学处理;4.文本处理;5.数据库编程;6.网络编程;7.Web编程;8.多媒体应用;9.pymo引擎;10.黑客编程;11.用Python写...

Python是什么?它有何用途?
脚本语言:Perl, Python, Java, Ruby。简单,易学,良好的文本处理能方便网页内容的细致提取,但效率往往不高,适合对少量网站的聚焦爬取 C#?为什么眼下最火的是Python?个人用c#,java都写过爬虫。区别不大,原理就是利用好正则表达式。只不过是平台问题。后来了解到很多爬虫都是用python写的,于是便一...

python实验报告模板怎么写?
编写Python程序实现文本处理,掌握组合类型应用。实验要求:实现列表操作与数据处理。实验内容与程序代码:1.对列表li_one = [85,70,80,75,90,60,95,50,70,85,90,70,80],完成以下任务:- 插入与追加元素。- 列表逆置输出。2.输出列表的最大值、最小值和平均值,保留一位小数。3.删除重复数据...

Python可以用来做什么
学习Python技术,可以做Python开发工程师、Python高级工程师、Web网站开发工程师、Python自动化测试、Linux运维工程师、Python游戏开发工程师、Python技术经理、Python开发实习等职业选择。据统计,Python人才需求量每日高达5000+,但目前市场上会 Python的程序员少之又少,竞争小,很容易快速高薪就业。从Python开发...

python能做什么?只要应用于哪些方面?应该如何学习?
3. 爬虫开发 在爬虫领域,Python几乎是霸主地位,将网络一切数据作为资源,通过自动化程序进行有针对性的数据采集以及处理。从事该领域应学习爬虫策略、高性能异步IO、分布式爬虫等,并针对Scrapy框架源码进行深入剖析,从而理解其原理并实现自定义爬虫框架。4. 云计算开发 Python是从事云计算工作需要掌握的一...

python可以做什么
Python具有简单、易学、免费、开源、可移植、可扩展、可嵌入、面向对象等优点,它的面向对象甚至比java和C#.net更彻底。作为一种通用语言,Python几乎可以用在任何领域和场合,角色几乎是无限的。 python能做什么?1.网站开发。Python数据处理很在线,用它编写网站可以为大众提供优秀的服务,主要使用django和...

用python处理csv文件,最好可以将里面的文本信息转成一个二维数组的形式...
思路如下:导入csv库;打开文件,并用csv库函数reader读入数据;csv读入的数据是一行一行的,所以通过循环语句把读到的数据放入到数组里 import csv # 必要库导入filepath = 'test.csv' # 定义文件名称,本文件要与当前的.py文件要在同一文件夹下,不然要用绝对路径with open(filepath,'r') as csv...

python是什么?
简单来说,Python是一个程序开发语言,是一个:高级编程语言,其设计的核心理念是代码的易读性,以及允许编程者通过若干行代码轻松表达想法创意。Python是一门多种用途的编程语言,时常在扮演脚本语言的角色。一般来说,Python可定义为面向对象语的脚本语言:这个定义把面向对象的支持和全面的面向脚本语言的...

薛城区18784216828: 如何使用Python修改文本文件 -
栾洋碘比: 如何使用Python修改文本文件:for line in fileinput.input("filepath", inplace=1): line = line.replace("oldtext", "newtext") print line,

薛城区18784216828: 如何用Python来进行查询和替换一个文本字符串 -
栾洋碘比: 1、说明 可以使用find或者index来查询字符串,可以使用replace函数来替换字符串.2、示例1)查询>>> 'abcdefg'.find('cde') 结果为2'abcdefg'.find('acde') 结果为-1'abcdefg'.index('cde') 结果为22)替换'abcdefg'.replace('abc','cde') 结果为'...

薛城区18784216828: 怎么用python做一个输出10个文字排列的文本文件 -
栾洋碘比: #coding =utf-8reader = open('test.txt').readlines() n=0 for len in reader:writer=open(str(reader.index(len)+1)+'.txt','w')if (len.find('\n')>0):for n in range(0,10):writer.write(len[:-1]+reader[n])else:for n in range(0,10):writer.write(len+reader[n])writer.close()这个基本能满足你要的功能,你把输入和输出的文件名改一下就行了

薛城区18784216828: python对于文件中文本处理有好用的方法?
栾洋碘比: gt;>> import re>>> f=open('a.txt')>>> lines = f.readlines()>>> for line in lines:... print line... if line.findall('echo'):... print '你需要加入的内容'>>>f.close()注意缩进[ 本帖最后由 xiaoyu9805119 于 2008-7-21 16:36 编辑 &#093

薛城区18784216828: 如何用Python把单行文本处理成两行并对齐 -
栾洋碘比: outputChords = "" outputLyrics = "" inBracket = False for i in range(len(line)): if line[i] == '[': inBracket = True outputChords = outputChords + " " * (max(0, len(outputLyrics.encode('gbk')) - len(outputChords.encode('gbk')))) elif inBracket and ...

薛城区18784216828: 如何利用python对excel文件处理 -
栾洋碘比: python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,还可以用win32com和openpyxl模块

薛城区18784216828: python的文件处理 -
栾洋碘比: import glob import os import re filelist = glob.glob('*.txt') p = re.compile(r'(.*)\|(.*)') for fn in filelist: try: fin = open(fn, 'r') fout = open('pro_' + os.path.split(fn)[1], 'w') except: print 'File open error!' os.exit(1) for line in fin.readlines(): if 'Rd' in line: line = p.sub...

薛城区18784216828: python处理文本 -
栾洋碘比: myfile=open('filename') keyword="1015838488" haskeyword=False toprint=[] for line in myfile: if line.strip()=="": if haskeyword: print(''.join(toprint)) toprint=[] haskeyword=False if keyword in line: haskeyword=True toprint.append(line) if haskeyword: print(''.join(toprint)) 将filename替换为实际的文件名

薛城区18784216828: 如何用python进行文本预处理 -
栾洋碘比: #!/usr/bin/python#print "Hello World" str_seperator = "==================================================================================" timePointName = ["enter OpenNextImage at",#0 "enter OpenImage at",#1 ...

薛城区18784216828: python 行列 文本数据处理 -
栾洋碘比: 图表的事先放一放.先给你一个按行读取文件的例子 with open("text.txt", "r") as fin:for line in fin:nums = line.split() # 按空白切分行,得到一组数值....因为文件格式比较严谨,每一列的内容都是统一的,所以就很容易处理了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网