python常用文字處理功能

2021-06-27 16:34:57 字數 2962 閱讀 3135

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='.format(1+2) #是佔位符,其中0表示是第乙個需要被替換的。output: 1+2=3

':'.format('nice','day') #,是佔位符,指第一被替換,替換成nice,第二個被替換,替換成day。output:nice:day

實際用途:

我的手機拍照之後,手機的命名如下:

在電腦中,會根據相片的日期放到不同的資料夾,資料夾命名如下:

2013-08-10

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 ***'

re.sub('cat[0-9]','cat',s) #s本身不改變,但會返回乙個字串:output: cat cat cat in the ***

對於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文字處理

基本的文字操作 在python中,可以用下列方式表現乙個文字字串 this is a literal string out 1 this is a literal string this is a literal string out 2 this is a literal string 使用3引用...

python 文字處理

我們談到 文字處理 時,我們通常是指處理的內容。python 將文字檔案的內容讀入可以操作的字串變數非常容易。檔案物件提供了三個 讀 方法 read readline 和 readlines 每種方法可以接受乙個變數以限制每次讀取的資料量,但它們通常不使用變數。read 每次讀取整個檔案,它通常用於...

python文字處理

日常操作中,少不了文字處理,如程式輸入資料準備,python憑藉其簡潔優雅的語法,在文字處理上比c 等編譯型語言開發效率高出一大截。檔案操作示例 輸入檔案 f open r d python27 pro 123.bak 輸出檔案 fw open r d python27 pro 123e.bak w...