最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1、前言

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

2、安裝python 

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

 

3、IEDA編輯器如何使用python

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

 

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

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

4、開發(fā)前知識(shí)準(zhǔn)備

文件的讀取,python讀取文件非常的簡(jiǎn)單,我現(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ù)的定義,如果我們寫定義一個(gè)函數(shù)直接前面加上def,返回值可以獲取后直接用return即可

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

模式:

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

跨文件引用:

同一個(gè)層級(jí)python是采用import直接導(dǎo)入文件名的方式,看下一個(gè)代碼

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)模式,判斷某個(gè)元素是否在數(shù)組中存在則直接使用 元素 in 數(shù)組

5、總結(jié)

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

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

相關(guān)文章

  • python3實(shí)現(xiàn)釘釘消息推送的方法示例

    python3實(shí)現(xiàn)釘釘消息推送的方法示例

    這篇文章主要介紹了python3實(shí)現(xiàn)釘釘消息推送的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • python中字符串的操作方法大全

    python中字符串的操作方法大全

    這篇文章主要給大家介紹了關(guān)于python中字符串操作方法的相關(guān)資料,文中通過示例代碼詳細(xì)介紹了關(guān)于python中字符串的大小寫轉(zhuǎn)換、isXXX判斷、填充、子串搜索、替換、分割、join以及修剪:strip、lstrip和rstrip的相關(guān)內(nèi)容,需要的朋友可以參考下
    2018-06-06
  • 樸素貝葉斯Python實(shí)例及解析

    樸素貝葉斯Python實(shí)例及解析

    這篇文章主要為大家詳細(xì)介紹了樸素貝葉斯Python算法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Python使用crontab模塊設(shè)置和清除定時(shí)任務(wù)操作詳解

    Python使用crontab模塊設(shè)置和清除定時(shí)任務(wù)操作詳解

    這篇文章主要介紹了Python使用crontab模塊設(shè)置和清除定時(shí)任務(wù)操作,結(jié)合實(shí)例形式分析了centos7平臺(tái)上Python安裝、python-crontab模塊安裝,以及基于python-crontab模塊的定時(shí)任務(wù)相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • python空值填充為無的實(shí)現(xiàn)方法

    python空值填充為無的實(shí)現(xiàn)方法

    我們經(jīng)常會(huì)遇到數(shù)據(jù)集中存在空值的情況,本文主要介紹了python空值填充為無的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • Python實(shí)用小知識(shí)之對(duì)象間的比較

    Python實(shí)用小知識(shí)之對(duì)象間的比較

    == 和 is 是 Python 中對(duì)象比較常用的兩種方式,簡(jiǎn)單來說,'==' 操作符比較對(duì)象之間的值是否相等,下面這篇文章主要給大家介紹了關(guān)于Python實(shí)用小知識(shí)之對(duì)象間比較的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • 基于Python實(shí)現(xiàn)個(gè)人手機(jī)定位分析

    基于Python實(shí)現(xiàn)個(gè)人手機(jī)定位分析

    TransBigData是一個(gè)為交通時(shí)空大數(shù)據(jù)處理、分析和可視化而開發(fā)的Python包。本文就來用它實(shí)現(xiàn)個(gè)人手機(jī)定位分析,感興趣的小伙伴可以了解一下
    2023-04-04
  • 詳解Python中位運(yùn)算的簡(jiǎn)單實(shí)現(xiàn)

    詳解Python中位運(yùn)算的簡(jiǎn)單實(shí)現(xiàn)

    位運(yùn)算就是直接對(duì)整數(shù)在內(nèi)存中對(duì)應(yīng)的二進(jìn)制位進(jìn)行操作,一般是將數(shù)字化為二進(jìn)制數(shù)后進(jìn)行操作。本文將利用Python語(yǔ)言實(shí)現(xiàn)位運(yùn)算,感興趣的可以了解一下
    2022-06-06
  • python 把文件中的每一行以數(shù)組的元素放入數(shù)組中的方法

    python 把文件中的每一行以數(shù)組的元素放入數(shù)組中的方法

    下面小編就為大家分享一篇python 把文件中的每一行以數(shù)組的元素放入數(shù)組中的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python cv2讀取rtsp實(shí)時(shí)碼流按時(shí)生成連續(xù)視頻文件方式

    python cv2讀取rtsp實(shí)時(shí)碼流按時(shí)生成連續(xù)視頻文件方式

    今天小編就為大家分享一篇python cv2讀取rtsp實(shí)時(shí)碼流按時(shí)生成連續(xù)視頻文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評(píng)論

浙江省| 库车县| 齐河县| 杨浦区| 高唐县| 昭平县| 长海县| 兴和县| 读书| 安泽县| 清徐县| 临城县| 张家界市| 洛浦县| 建湖县| 沙洋县| 田阳县| 长乐市| 朝阳区| 綦江县| 邳州市| 天水市| 屏东县| 沙雅县| 岑溪市| 嘉禾县| 南城县| 阿克苏市| 额敏县| 陇西县| 南充市| 齐齐哈尔市| 吕梁市| 柳州市| 乐安县| 江川县| 宁蒗| 舒城县| 阳江市| 青冈县| 登封市|