日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
python:常用功能之文本處理

前言

創(chuàng)新互聯(lián)專注于康縣網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供康縣營銷型網(wǎng)站建設(shè),康縣網(wǎng)站制作、康縣網(wǎng)頁設(shè)計(jì)、康縣網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造康縣網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供康縣網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

在生活、工作中,python一直都是一個(gè)好幫手。在python的眾多功能中,我覺得文本處理是最常用的。下面是平常使用中的一些總結(jié)。環(huán)境是python 3.3

0. 基礎(chǔ)

在python中,使用str對象來保存字符串。str對象的建立很簡單,使用單引號(hào)或雙引號(hào)或3個(gè)單引號(hào)即可。例如:

 
 
 
  1. s='nice'      #output: nice 
  2. s="nice"      #output: nice 
  3. s="Let's go"  #output: Let's go 
  4. s='"nice"'    #output: "nice" 
  5. s=str(1)      #output: 1 
  6. s='''''nice 
  7. day'''        #output: nice 
  8.               #output: day 

在python中,\n代表換行符,\t代表tab鍵

在python中,引用str中的某一段的內(nèi)容很容易。例如:

 
 
 
  1. s='123456789' 
  2. s[0]          #***個(gè)字符:     output: 1 
  3. s[-1]         #倒數(shù)***個(gè)字符: output: 9 
  4. s[:2]         #前2個(gè)字符:     output: 12 
  5. s[-2:]        #后2個(gè)字符:     output: 89 
  6. s[2:-2]       #去掉前2個(gè)和后2個(gè)剩余的字符 output:34567 

在python中,判斷某一字符串是否在另一個(gè)字符串中:

 
 
 
  1. 'nice' in 'nice day' #output :True 

task 1. 按照某種格式生產(chǎn)字符串

在python中,str對象有一個(gè)方法用于實(shí)現(xiàn)這種功能,這個(gè)方法是:str.format(*args,**kwargs)。例子:

 
 
 
  1. '1+2={0}'.format(1+2)  #{0}是占位符,其中0表示是***個(gè)需要被替換的。output: 1+2=3 
  2. '{0}:{1}'.format('nice','day') #{0},{1}是占位符,{0}指***被替換,替換成nice,{1}第二個(gè)被替換,替換成day。output:nice:day 

實(shí)際用途:

我的手機(jī)拍照之后,手機(jī)的命名如下:

 
 
 
  1. IMG_20130812_145732.jpg 
  2. IMG_20130812_144559.jpg 

在電腦中,會(huì)根據(jù)相片的日期放到不同的文件夾,文件夾命名如下:

 
 
 
  1. 2013-08-10 
  2. 2013-08-12 

所以說,要對相片的命名進(jìn)行一個(gè)轉(zhuǎn)換,這樣才能映射到相應(yīng)的文件夾轉(zhuǎn)。代碼如下:

 
 
 
  1. def getName(name): 
  2.     return '{0}-{1}-{2}'.format(name[4:8],name[8:10],name[10:12]) 
  3.  
  4. getName('IMG_20130812_145732.jpg')  #output: 2013-08-12 

task 2. 替換字符串中的某一部分

替換有2中方法,一種是使用str對象自帶的方法replace(),另一種是使用re模塊中sub(0的。例如:

 
 
 
  1. #replace 
  2. s='nice day' 
  3. s.replace('nice','good')    #s本身不改變,但會(huì)返回一個(gè)字符串:output: good day 
  4.  
  5. #sub 
  6. import re 
  7. s='cat1 cat2 cat3 in the xxx' 
  8. re.sub('cat[0-9]','CAT',s)  #s本身不改變,但會(huì)返回一個(gè)字符串:output: CAT CAT CAT in the xxx 

對于re模塊中的sub,需要了解正則表達(dá)式。

task 3. 拆分字符串

Excel可以到處逗號(hào)分隔符格式的文件。對于這樣的字符串,我們可以把它拆成相應(yīng)的字段。實(shí)現(xiàn)這個(gè)功能,主要使用str對象的自帶方法split。例如:

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

task 4. 合并字符串

除了拆分功能之外,我們可以將拆分好的字段合并成一個(gè)字符串。實(shí)現(xiàn)這個(gè)功能,主要使用str對象自帶的方法join。例如:

 
 
 
  1. l=['one', 'two', 'three'] 
  2. ','.join(l)                                #output: one,two,three 

這個(gè)功能還可以在this模塊中看到。

task 5. 整合

關(guān)于字符串的操作有很多。如果僅僅對一兩行字符串進(jìn)行操作,顯示不出他的威力。在工作中,有可能會(huì)對文檔進(jìn)行處理,有的文檔很大,手工的方式不好處理,這時(shí),python就有用武之地。

例如,從數(shù)據(jù)庫中導(dǎo)出一個(gè)表table_1的數(shù)據(jù),導(dǎo)出來的數(shù)據(jù)格式如下:

 
 
 
  1. insert into table_1(field1,filed2,field3) 
  2. values(value1,value2,value3); 
  3. ... 
  4. insert into table_1(field1,filed2,field3) 
  5. values(value1,value2,value3); 

數(shù)據(jù)生成的文件的大小大概為700M。要把這個(gè)表的數(shù)據(jù)導(dǎo)入到另一個(gè)數(shù)據(jù)庫的表table_2中,table_1和table_2的表結(jié)構(gòu)相同,僅僅是名字不同。這時(shí),我們可以寫一個(gè)python腳本,將table_1替換成table_2。例如:

 
 
 
  1. path_in='table1.data' 
  2. path_out='table2.data' 
  3. f_in=open(path_in) 
  4. f_out=open(path_out,'w') 
  5. for i in f_in.readlines(): 
  6.     if 'insert into table_1(field1,filed2,field3)' in i: 
  7.         f_out.write(i.repalce('tabel_1','table_2')) 
  8.     else: 
  9.         f_out.write(i) 
  10. f_in.close() 
  11. f_out.close() 

結(jié)束語

使用python,讓日常工作多了一個(gè)工具,多了一個(gè)選擇??梢詫⒁恍┲貜?fù)的工作交給機(jī)器做,節(jié)省時(shí)間,提高效率。

原文鏈接:http://www.cnblogs.com/ola2010/p/3266366.html


標(biāo)題名稱:python:常用功能之文本處理
分享路徑:http://www.5511xx.com/article/dhgsope.html