python資料處理小技巧 2

2021-08-28 21:02:19 字數 3051 閱讀 2053

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...