欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用python如何處理百萬條數(shù)據(jù)(適用java新手)

 更新時間:2018年06月06日 08:39:53   作者:朝向遠方  
這篇文章主要給大家介紹了關(guān)于利用python如何處理百萬條數(shù)據(jù)的相關(guān)資料,本文的教程非常適用于java新手,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1、前言

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

2、安裝python 

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

 

3、IEDA編輯器如何使用python

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

 

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

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

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直接導(dǎo)入文件名的方式,看下一個代碼

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ù)組

5、總結(jié)

如果你有數(shù)據(jù)量級別在百分的時候我建議優(yōu)先可以想到python處理真的特別方便,而且很簡單學(xué)習(xí)成本也很低,但是卻很實用,其實awk在數(shù)據(jù)處理中也發(fā)揮很大的作用,大家可以私下學(xué)習(xí),如果有時間我會分享一些,關(guān)于數(shù)據(jù)我這里就不提供了大家可以按照我上述代碼跑就可以,更細節(jié)的我推薦看廖雪峰的python教程。

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Python存儲List數(shù)據(jù)到文件(text/csv/excel)幾種常見方法

    Python存儲List數(shù)據(jù)到文件(text/csv/excel)幾種常見方法

    在數(shù)據(jù)分析中經(jīng)常需要從csv格式的文件中存取數(shù)據(jù)以及將數(shù)據(jù)寫書到csv文件中,下面這篇文章主要給大家介紹了關(guān)于Python存儲List數(shù)據(jù)到文件(text/csv/excel)的幾種常見方法,需要的朋友可以參考下
    2024-02-02
  • python爬蟲調(diào)度器用法及實例代碼

    python爬蟲調(diào)度器用法及實例代碼

    在本篇文章里小編給各位整理了關(guān)于python爬蟲調(diào)度器用法及實例代碼,需要的朋友們可以參考學(xué)習(xí)下。
    2020-11-11
  • Python理解遞歸的方法總結(jié)

    Python理解遞歸的方法總結(jié)

    在本篇文章里小編給大家分享了關(guān)于如何使用Python來理解遞歸的知識點內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-01-01
  • Python編譯為二進制so可執(zhí)行文件實例

    Python編譯為二進制so可執(zhí)行文件實例

    今天小編就為大家分享一篇Python編譯為二進制so可執(zhí)行文件實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 解決Python 爬蟲URL中存在中文或特殊符號無法請求的問題

    解決Python 爬蟲URL中存在中文或特殊符號無法請求的問題

    今天小編就為大家分享一篇解決Python 爬蟲URL中存在中文或特殊符號無法請求的問題。這種問題,初學(xué)者應(yīng)該都會遇到,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 關(guān)于Python中compile() 函數(shù)簡單實用示例詳解

    關(guān)于Python中compile() 函數(shù)簡單實用示例詳解

    這篇文章主要介紹了關(guān)于compile() 函數(shù)簡單實用示例,compile() 函數(shù)將一個字符串編譯為字節(jié)代碼,compile將代碼編譯為代碼對象,應(yīng)用在代碼中可以提高效率,本文通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • 使用Python實現(xiàn)炫酷的數(shù)據(jù)動態(tài)圖大全

    使用Python實現(xiàn)炫酷的數(shù)據(jù)動態(tài)圖大全

    數(shù)據(jù)可視化是通過圖形、圖表、地圖等可視元素將數(shù)據(jù)呈現(xiàn)出來,以便更容易理解、分析和解釋,它是將抽象的數(shù)據(jù)轉(zhuǎn)化為直觀形象的過程,本文給大家介紹了使用Python實現(xiàn)炫酷的數(shù)據(jù)動態(tài)圖大全,需要的朋友可以參考下
    2024-06-06
  • Python統(tǒng)計詞頻的幾種方法小結(jié)

    Python統(tǒng)計詞頻的幾種方法小結(jié)

    本文主要介紹了Python統(tǒng)計詞頻的幾種方法小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python IDLE添加行號顯示教程

    python IDLE添加行號顯示教程

    這篇文章主要介紹了python IDLE添加行號顯示教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python數(shù)據(jù)分析基礎(chǔ)之pandas中l(wèi)oc()與iloc()的介紹與區(qū)別介紹

    python數(shù)據(jù)分析基礎(chǔ)之pandas中l(wèi)oc()與iloc()的介紹與區(qū)別介紹

    我們經(jīng)常在尋找數(shù)據(jù)的某行或者某列的時常用到Pandas中的兩種方法iloc和loc,兩種方法都接收兩個參數(shù),第一個參數(shù)是行的范圍,第二個參數(shù)是列的范圍,這篇文章主要介紹了python數(shù)據(jù)分析基礎(chǔ)之pandas中l(wèi)oc()與iloc()的介紹與區(qū)別,需要的朋友可以參考下
    2024-07-07

最新評論