成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Python處理大數(shù)據(jù)的方法-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Python處理大數(shù)據(jù)的方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

華坪ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

如果你有個5、6 G 大小的文件,想把文件內(nèi)容讀出來做一些處理然后存到另外的文件去,你會使用什么進行處理呢?不用在線等,給幾個錯誤示范:有人用multiprocessing 處理,但是效率非常低。于是,有人用python處理大文件還是會存在效率上的問題。因為效率只是和預期的時間有關(guān),不會報錯,報錯代表程序本身出現(xiàn)問題了~

所以,為什么用python處理大文件總有效率問題?

如果工作需要,立刻處理一個大文件,你需要注意兩點:

01、大型文件的讀取效率

面對100w行的大型數(shù)據(jù),經(jīng)過測試各種文件讀取方式,得出結(jié)論:

with open(filename,"rb") as f:
 for fLine in f:
 pass

方式最快,100w行全遍歷2.7秒。

基本滿足中大型文件處理效率需求。如果rb改為r,慢6倍。但是此方式處理文件,fLine為bytes類型。但是python自行斷行,仍舊能很好的以行為單位處理讀取內(nèi)容。

02、文本處理效率問題

這里舉例ascii定長文件,因為這個也并不是分隔符文件,所以打算采用列表操作實現(xiàn)數(shù)據(jù)分割。但是問題是處理20w條數(shù)據(jù),時間急劇上升到12s。本以為是byte.decode增加了時間。遂去除decode全程bytes處理。但是發(fā)現(xiàn)效率還是很差。

最后用最簡單方式測試,首次運行,最簡單方式也要7.5秒100w次。

想知道這個方式處理的完整代碼是什么嗎?掃描文末二維碼,聯(lián)系小編可以獲取哦~

那么關(guān)于python處理大文件的技巧,從網(wǎng)絡(luò)整理三點:列表、文件屬性、字典三個點來看看。

1.列表處理

def fun(x):盡量選擇集合、字典數(shù)據(jù)類型,千萬不要選擇列表,列表的查詢速度會超級慢,同樣的,在已經(jīng)使用集合或字典的情況下,不要再轉(zhuǎn)化成列表進行操作,比如:

values_count = 0
# 不要用這種的
if values in dict.values():
 values_count += 1
# 盡量用這種的
if keys,values in dict:
 values_count += 1

后者的速度會比前者快好多好多。

2. 對于文件屬性

如果遇到某個文件,其中有屬性相同的,但又不能進行去重操作,沒有辦法使用集合或字典時,可以增加屬性,比如將原數(shù)據(jù)重新映射出一列計數(shù)屬性,讓每一條屬性具有唯一性,從而可以用字典或集合處理:

 return '(' + str(x) + ', 1)'
list(map(fun,[1,2,3]))

使用map函數(shù)將多個相同屬性增加不同項。

3. 對于字典

多使用iteritems()少使用items(),iteritems()返回迭代器:

>>> d = {'a':1,'b':2}
>>> for i in d.items() :
.... print i
('a',1)
('b',2)
>>> for k,v in d.iteritems() :
... print k,v
('a',1)
('b',2)

字典的items函數(shù)返回的是鍵值對的元組的列表,而iteritems使用的是鍵值對的generator,items當使用時會調(diào)用整個列表 iteritems當使用時只會調(diào)用值。

除了以下5個python使用模塊,你還有什么技巧解決大文件運行效率的問題嗎?深入了解更多Python實用模塊,快速提升工作效率~

讀寫文件技術(shù),今后會用到測試數(shù)據(jù)的參數(shù)化和測試報告寫作功能中~

數(shù)據(jù)處理技術(shù),今后測試腳本的測試數(shù)據(jù)處理過程可以用到~

數(shù)據(jù)統(tǒng)計分析技術(shù),今后會在測試結(jié)果分析中用到

圖表展示技術(shù),在今后的測試框架中相關(guān)測試報告會用到

程序自動觸發(fā)技術(shù),可用于測試腳本程序的自動執(zhí)行。

感謝各位的閱讀!關(guān)于“Python處理大數(shù)據(jù)的方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

當前題目:Python處理大數(shù)據(jù)的方法-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://jinyejixie.com/article30/ccjhso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)外貿(mào)網(wǎng)站建設(shè)、虛擬主機、網(wǎng)站維護、App開發(fā)、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
商都县| 亳州市| 铜梁县| 赞皇县| 珠海市| 延长县| 张家界市| 绥棱县| 西充县| 敦化市| 太保市| 青川县| 和静县| 辽源市| 合川市| 开封县| 江陵县| 淅川县| 大城县| 海淀区| 五峰| 通河县| 平利县| 瓦房店市| 平度市| 体育| 弥渡县| 丰原市| 永城市| 台南县| 浦江县| 黔西县| 潜江市| 太保市| 高台县| 南投市| 福建省| 昌都县| 仪陇县| 商南县| 喜德县|