python被稱之為膠水語言,應(yīng)用非常廣泛,很多人可能都不知道Python編程也可以處理大數(shù)據(jù),那么用Python編程如何進(jìn)行處理大數(shù)據(jù)?處理技巧有哪些是北大青鳥的老師今天要給你解答的疑問。
1.文本處理效率
這里舉例ascii定長(zhǎng)文件,因?yàn)檫@個(gè)也并不是分隔符文件,所以打算采用列表操作實(shí)現(xiàn)數(shù)據(jù)分割。但是問題是處理20w條數(shù)據(jù),時(shí)間急劇上升到12s。本以為是byte.decode增加了時(shí)間。遂去除decode全程bytes處理。但是發(fā)現(xiàn)效率還是很差。后用簡(jiǎn)單方式測(cè)試,首次運(yùn)行,簡(jiǎn)單方式也要7.5秒100w次。
2.大文件讀取效率
面對(duì)100w行的大數(shù)據(jù),在測(cè)試了各種文件讀取方法之后,我們得出以下結(jié)論:方式快,100w行全遍歷2.7秒?;旧蠞M足了大中型文件處理效率的需求。 如果將rb更改為r,則速度要慢6倍。 但是用這種方式處理文件,fLine是字節(jié)類型的。 但是python編程本身會(huì)斷行,并且仍然可以以行為單位處理讀取的內(nèi)容。
3.python處理技巧
(1)對(duì)于字典
多使用iteritems()少使用items(),iteritems()返回迭代器:字典的items函數(shù)返回的是鍵值對(duì)的元組的列表,而iteritems使用的是鍵值對(duì)的generator,items當(dāng)使用時(shí)會(huì)調(diào)用整個(gè)列表 iteritems當(dāng)使用時(shí)只會(huì)調(diào)用值。
(2)列表處理
def fun(x):盡量選擇集合、字典數(shù)據(jù)類型,千萬不要選擇列表,列表的查詢速度會(huì)超級(jí)慢,同樣的,在已經(jīng)使用集合或字典的情況下,不要再轉(zhuǎn)化成列表進(jìn)行操作
(3)文件屬性
如果遇到某個(gè)文件,其中有屬性相同的,但又不能進(jìn)行去重操作,沒有辦法使用集合或字典時(shí),可以增加屬性,比如將原數(shù)據(jù)重新映射出一列計(jì)數(shù)屬性,讓每一條屬性具有唯一性,從而可以用字典或集合處理
(4)實(shí)用模塊
Python編程數(shù)據(jù)統(tǒng)計(jì)分析技術(shù),今后會(huì)在測(cè)試結(jié)果分析中用到,程序自動(dòng)觸發(fā)技術(shù),可用于測(cè)試腳本程序的自動(dòng)執(zhí)行,讀寫文件技術(shù),今后會(huì)用到測(cè)試數(shù)據(jù)的參數(shù)化和測(cè)試報(bào)告寫作功能中,圖表展示技術(shù),在今后的測(cè)試框架中相關(guān)測(cè)試報(bào)告會(huì)用到,數(shù)據(jù)處理技術(shù),今后測(cè)試腳本的測(cè)試數(shù)據(jù)處理過程可以用到。
以上的內(nèi)容對(duì)于小白同學(xué)看的可能還是很不明白,不過沒有關(guān)系,對(duì)于你不明白地方可以咨詢北大青鳥校區(qū)的客服,我們很樂意為您解答疑問。