这篇文章将为大家详细讲解有关利用python处理百万条数据的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
<强> 1,前言强>
因为负责基础服务,经常需要处理一些数据,但是大多时候采用awk以及java程序即可,但是这次突然有百万级数据需要处理,通过awk无法进行匹配,然后我又采用java来处理,文件一分为8同时开启8个线程并发处理,但是依然处理很慢,处理时长起码在1天+所以无法忍受这样的处理速度就采用python来处理,结果速度有了质的提升,大约处理时间为1个小时多一点,这个时间可以接受,后续可能继续采用大数据思想来处理,相关的会在后续继续更新。
<强> 2,安装python 强>
第一步首先下载python软件,在官网可以根据自己情况合理下载,大家也可以通过进行下载其余就是下一步搞的定,然后在开始里面找到python的exe,点击开然后输入1 + 1就可以看出是否安装成功了。如下图
<强> 4,开发前知识准备强>
文件的读取,python读取文件非常的简单,我现在直接贴代码提供给大家
def readData(文件名):=,result ““ 数=0 ,with 开放(文件名,& # 39;" # 39;),as f: ,for line  f.readlines拷贝(): result +=,才能行 count 才能+=1 print 才能;计数 return 结果 “““写入文件“““ def writeData(文件名,数据): ,with 开放(文件名,& # 39;a + & # 39;) as f: 之前,f.write(数据)>其中def是函数的定义,如果我们写定义一个函数直接前面加上def,返回值可以获取后直接用返回即可
python我们直接采用张开(& # 39;文件路径& # 39;,模式)和f的方式来打开文件
<强>模式:强>
r只读文件不存在则出错r +支持读写文件不存在则出错,写入时,会覆盖源文件w只写如果文件不存在则创建文件,会覆盖源文件,如果写入内容少则保留为覆盖的内容w +支持读写同上一只写如果文件不存在则创建文件,会采用追加模式+读写同上b二进制读写,<强>跨文件引用:强>
同一个层级python是采用进口直接导入文件名的方式,看下一个代码
import IoUtils 时间=fileName1 & # 39; D: \ \ \ \工作蟒蛇\ \文件\ \ userids.txt& # 39; 时间=userIds IoUtils.readData (fileName1) .split (& # 39; \ n # 39;) 时间=fileName2 & # 39; D: \ \ \ \工作蟒蛇\ \文件\ \ records.txt& # 39; 时间=records IoUtils.readData (fileName2) .strip () 时间=recordsArr records.split (& # 39; \ n # 39;) 数=0; for data  recordsArr拷贝: 计数+=1 ,if data.split (& # 39; \ t # 39;)[2],拷贝用户id: ,IoUtils.writeData (& # 39; D: \ \ \ \工作蟒蛇\ \ \ \ 20180604. txt文件# 39;,,data +, & # 39; \ n # 39;) ,print 数<强>其他说明:强>
其中分裂和java程序的分裂一样,带是去掉空格换行符等,循环(在)模式,判断某个元素是否在数组中存在则直接使用元素在数组
关于“利用python处理百万条数据的案例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。
利用python处理百万条数据的案例