python常用文本功能介紹

來源:互聯網
上載者:User

  python文本處理相信很多朋友都會比較喜歡,這個功能也是大家比較常用的,下面幫客之家小編為大家分享一份python常用文本功能,希望大家喜歡,有用的話就收走吧!

python常用文本功能:

PS:環境python 3.3

  task 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

  實際用途:

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

  IMG_20130819_145732.jpg

  IMG_20130819_144559.jpg

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

  2013-08-18

  2013-08-19

  所以說,要對相片的命名進行一個轉換,這樣才能映射到相應的檔案夾轉。代碼如下:

  def getName(name):

  return '{0}-{1}-{2}'.format(name[4:8],name[8:10],name[10:12])

  getName('IMG_20130819_145732.jpg') #output: 2013-08-19

  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,需要瞭解Regex。

  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指令碼如何?遞迴拷貝檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.