利用python處理百萬條數(shù)據(jù)的案例-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關利用python處理百萬條數(shù)據(jù)的案例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)專注于黃石港企業(yè)網(wǎng)站建設,成都響應式網(wǎng)站建設公司,商城開發(fā)。黃石港網(wǎng)站建設公司,為黃石港等地區(qū)提供建站服務。全流程按需搭建網(wǎng)站,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務

1、前言

因為負責基礎服務,經(jīng)常需要處理一些數(shù)據(jù),但是大多時候采用awk以及java程序即可,但是這次突然有百萬級數(shù)據(jù)需要處理,通過awk無法進行匹配,然后我又采用java來處理,文件一分為8同時開啟8個線程并發(fā)處理,但是依然處理很慢,處理時長起碼在1天+所以無法忍受這樣的處理速度就采用python來處理,結(jié)果速度有了質(zhì)的提升,大約處理時間為1個小時多一點,這個時間可以接受,后續(xù)可能繼續(xù)采用大數(shù)據(jù)思想來處理,相關的會在后續(xù)繼續(xù)更新。

2、安裝python 

第一步首先下載python軟件,在官網(wǎng)可以根據(jù)自己情況合理下載,大家也可以通過創(chuàng)新互聯(lián)進行下載其余就是下一步搞定,然后在開始里面找到python的exe,點擊開然后輸入1+1就可以看出是否安裝成功了.如下圖

利用python處理百萬條數(shù)據(jù)的案例

3、IEDA編輯器如何使用python

首先我們在idea中打開設置然后點擊plugins,在里面有個輸入框中輸入python,根據(jù)提示找到如下的這個(idea版本不同可能影響python版本)

利用python處理百萬條數(shù)據(jù)的案例

然后開始創(chuàng)建idea工程

file->New->Project->python然后出現(xiàn)如下圖情況(其他的下一步然后就會創(chuàng)建工程了)

利用python處理百萬條數(shù)據(jù)的案例

4、開發(fā)前知識準備

文件的讀取,python讀取文件非常的簡單,我現(xiàn)在直接貼代碼提供給大家

def readData(fileName):
 result = ""
 count=0
 with open(fileName, 'r') as f:
 for line in f.readlines():
  result += line
  count += 1
  print count
 return result

"""寫入文件"""

def writeData(fileName, data):
 with open(fileName, 'a+')as f:
 f.write(data)

其中def是函數(shù)的定義,如果我們寫定義一個函數(shù)直接前面加上def,返回值可以獲取后直接用return即可

python我們直接采用with open('文件路徑',模式) as f的方式來打開文件

模式:

r只讀文件不存在則出錯
r+支持讀寫文件不存在則出錯,寫入時,會覆蓋源文件
w只寫如果文件不存在則創(chuàng)建文件,會覆蓋源文件,如果寫入內(nèi)容少則保留為覆蓋的內(nèi)容
w+支持讀寫同上
a只寫如果文件不存在則創(chuàng)建文件,會采用追加模式
a+讀寫同上
b二進制讀寫 

跨文件引用:

同一個層級python是采用import直接導入文件名的方式,看下一個代碼

import IoUtils

fileName1 = 'D:\\works\\pythons\\files\\userids.txt'
userIds = IoUtils.readData(fileName1).split('\n')
fileName2 = 'D:\\works\\pythons\\files\\records.txt'
records = IoUtils.readData(fileName2).strip()
recordsArr = records.split('\n')
count=0;
for data in recordsArr:
 count+=1
 if data.split('\t')[2] in userIds:
 IoUtils.writeData('D:\\works\\pythons\\files\\20180604.txt', data + '\n')
 print count

其他說明:

其中split和java程序的split一樣,strip是去掉空格換行符等,循環(huán)(for in)模式,判斷某個元素是否在數(shù)組中存在則直接使用 元素 in 數(shù)組

關于“利用python處理百萬條數(shù)據(jù)的案例”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

網(wǎng)頁標題:利用python處理百萬條數(shù)據(jù)的案例-創(chuàng)新互聯(lián)
文章路徑:http://muchs.cn/article18/dheogp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗全網(wǎng)營銷推廣、定制網(wǎng)站、網(wǎng)站設計、App開發(fā)Google

廣告

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

小程序開發(fā)