1,拆分含有多種分隔符的字串
import re
s = 'sdjjg,jsa|jjalg\tjljl.ljei,jks;dji'
#方法:使用s.split(), 分割單個符合
#使用正規表示式的re.split()方法,一次性拆分字串,使用+號表示分割連續多個
newstr = re.split(r"[,|.;\t]+",s)
print(newstr)
#['sdjjg', 'jsa', 'jjalg', 'jljl', 'ljei', 'jks', 'dji']
2,將多個小字串拼接成乙個大字串
#方法1:迭代列表,連續使用"+" 操作依次拼接每個字串
#方法2:使用str.join(),更加快速的拼接列表中的每個字串
str = "a"
strs = "b"
strr = "c"
liststr = [str,strr,strs]
newstr = str+strs+strr
print(newstr)
onestr = "".join(liststr)
print(onestr)
#abc
3,對字串進行左,右,居中對齊
#方法1:使用字串的str.ljust(),str.rjust(),str.center()進行左右,居中對齊
#其方法所帶的2個引數意思分別為:最終字串的寬度 以及需要填充的字串
#方法2:使用format()方法,傳遞類似的'<20','>20','^20'引數完成同樣的任務
# 其中<20表示左對齊 並且寬度位20
4,去掉字串中不需要的字元
#方法1:
str = " abc 123 "
#去掉左右2邊的空格
newstr = str.strip()
print (newstr)
#abc 123
# 去掉左邊或者右邊的字元
#str.lstrip() str.rstrip()
#去掉左右2邊的特殊符號
onestr = "++++adv---"
twostr = onestr.strip("+-")
print(twostr)
#adv
#方法2:刪除單個固定位置的字元,可以使用切片+拼接的方式
threestr = "abc:123"
fourstr = threestr[:3]+threestr[4:]
print(fourstr)
#abc123
# 方法3:字串的replace()方法或正規表示式re.sub()刪除任意位置字元
sss = "\tabc\t123\txyz\topq"
#將\t用空字串替換
newsss = sss.replace("\t","")
print(newsss)
#abc123xyzopq
#利用re.sub替換多個字串
abcsss = "\tabc\t123\txyz\topq\ndf"
import re
newaass = re.sub("[\t\n]","",abcsss)
print(newaass)
#abc123xyzopqdf
#方法4:字串translate()方法,可以同時刪除多種不同的字元
newfivestr = abcsss.translate(["\t\n"])
print(newfivestr)
5,判斷是否已某某結尾或者開頭 以及 改變字串中的文字格式
#判斷字串a是否以b開頭或者結尾
#使用字串的str.startswith()和endwith()方法
#注意多個匹配時,使用元組
str = ["a.py","b.py","c.sh","d.txt"]
onestr = ""
#取出其中以sh和txt結尾的
for s in str:
if s.endswith((".sh",".txt")):
onestr += s
print(onestr)
#c.sh d.txt
#如何調整字串中文字的格式
#使用正規表示式re.sub()方法做字串替換,利用正規表示式的捕獲組
#捕獲每個部分內容,在替換字串中調整各個捕獲組的順序
newstr = "2016-05-23"
#\d{}表示字串 r""表示原始字串 \2表示取第乙個 /表示分割
ustr = re.sub("(\d)-(\d)-(\d)",r"\2/\3/\1",newstr)
print(ustr)
#05/23/2016
#使用標籤佔位符
newustrt = re.sub("(?p\d)-(?p\d)-(?p\d)",r"\g/\g/\g",newstr)
print(newustrt)
#05/23/2016
6,設定檔案的緩衝及 訪問檔案的狀態
#檔案的緩衝行為分為:全緩衝,行緩衝,無緩衝
#全緩衝:open函式的buffering設定為大於1的整數n,n為緩衝區大小
#行緩衝:open函式的buffering設定為1
#無緩衝:open函式的buffering設定為0
#如何訪問檔案的狀態
#1,系統呼叫:標準庫中os模組下的三個系統呼叫stat,fstat,lstat獲取檔案狀態
#2,快捷函式,標準庫中os.path下一些函式,使用起來更加簡潔
#如os.path.isdir(), os.path.isfile,os.path.islink(判斷是否是文字鏈結)
mysql中資料處理小技巧
平時開發中經常與資料庫打交道,mysql又是現在比較常用的資料庫,此文總結下平時會用到的mysql的小技巧。create table x like y 快速建立和y結構一樣的表x select last insert id 處理資料時比較有用,比如插入一條資料後,要獲取插入資料的自增主鍵id,就可以...
資料處理技巧
1.相關分析後指標二選一怎麼選?相關分析後我們需要對高度相關的指標組進行處理,選擇原則如下 1 優先留下業務上更重要的指標。比如,歷史購買總金額與歷史購買次數高度相關了,由於某次分析的目的是尋找重點客戶 目標導向很重要,這個需要與業務方進行溝通,統一業務口徑 所以這次分析中歷史購買總金額指標在重要性...
Python 資料處理 小函式
preface 最近在整內比賽mdd。遇到一些資料處理方面的事情,用python pandas是最為方便的,遠比我想象的強大。幾行 就完成了資料的處理,多個檔案的融合,再用sklearn裡面的模型跑一跑,就能得到結果。為此,經常記錄下來,對資料處理的應用。df pd.read csv s s inp...