利用python如何处理百万条数据(适用java新手)

 更新时间:2018年06月06日 08:39:53   作者:朝向远方  
这篇文章主要给大家介绍了关于利用python如何处理百万条数据的相关资料,本文的教程非常适用于java新手,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧

1、前言

因为负责基础服务,经常需要处理一些数据,但是大多时候采用awk以及java程序即可,但是这次突然有百万级数据需要处理,通过awk无法进行匹配,然后我又采用java来处理,文件一分为8同时开启8个线程并发处理,但是依然处理很慢,处理时长起码在1天+所以无法忍受这样的处理速度就采用python来处理,结果速度有了质的提升,大约处理时间为1个小时多一点,这个时间可以接受,后续可能继续采用大数据思想来处理,相关的会在后续继续更新。

2、安装python 

第一步首先下载python软件,在官网可以根据自己情况合理下载,大家也可以通过脚本之家进行下载其余就是下一步搞定,然后在开始里面找到python的exe,点击开然后输入1+1就可以看出是否安装成功了.如下图

 

3、IEDA编辑器如何使用python

首先我们在idea中打开设置然后点击plugins,在里面有个输入框中输入python,根据提示找到如下的这个(idea版本不同可能影响python版本)

 

然后开始创建idea工程

file->New->Project->python然后出现如下图情况(其他的下一步然后就会创建工程了)

4、开发前知识准备

文件的读取,python读取文件非常的简单,我现在直接贴代码提供给大家

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是函数的定义,如果我们写定义一个函数直接前面加上def,返回值可以获取后直接用return即可

python我们直接采用with open('文件路径',模式) as f的方式来打开文件

模式:

r 只读 文件不存在则出错
r+ 支持读写 文件不存在则出错,写入时,会覆盖源文件
w 只写 如果文件不存在则创建文件,会覆盖源文件,如果写入内容少则保留为覆盖的内容
w+ 支持读写 同上
a 只写 如果文件不存在则创建文件,会采用追加模式
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是去掉空格换行符等,循环(for in)模式,判断某个元素是否在数组中存在则直接使用 元素 in 数组

5、总结

如果你有数据量级别在百分的时候我建议优先可以想到python处理真的特别方便,而且很简单学习成本也很低,但是却很实用,其实awk在数据处理中也发挥很大的作用,大家可以私下学习,如果有时间我会分享一些,关于数据我这里就不提供了大家可以按照我上述代码跑就可以,更细节的我推荐看廖雪峰的python教程。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Python存储List数据到文件(text/csv/excel)几种常见方法

    Python存储List数据到文件(text/csv/excel)几种常见方法

    在数据分析中经常需要从csv格式的文件中存取数据以及将数据写书到csv文件中,下面这篇文章主要给大家介绍了关于Python存储List数据到文件(text/csv/excel)的几种常见方法,需要的朋友可以参考下
    2024-02-02
  • python爬虫调度器用法及实例代码

    python爬虫调度器用法及实例代码

    在本篇文章里小编给各位整理了关于python爬虫调度器用法及实例代码,需要的朋友们可以参考学习下。
    2020-11-11
  • Python理解递归的方法总结

    Python理解递归的方法总结

    在本篇文章里小编给大家分享了关于如何使用Python来理解递归的知识点内容,有兴趣的朋友们学习下。
    2019-01-01
  • Python编译为二进制so可执行文件实例

    Python编译为二进制so可执行文件实例

    今天小编就为大家分享一篇Python编译为二进制so可执行文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 解决Python 爬虫URL中存在中文或特殊符号无法请求的问题

    解决Python 爬虫URL中存在中文或特殊符号无法请求的问题

    今天小编就为大家分享一篇解决Python 爬虫URL中存在中文或特殊符号无法请求的问题。这种问题,初学者应该都会遇到,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 关于Python中compile() 函数简单实用示例详解

    关于Python中compile() 函数简单实用示例详解

    这篇文章主要介绍了关于compile() 函数简单实用示例,compile() 函数将一个字符串编译为字节代码,compile将代码编译为代码对象,应用在代码中可以提高效率,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 使用Python实现炫酷的数据动态图大全

    使用Python实现炫酷的数据动态图大全

    数据可视化是通过图形、图表、地图等可视元素将数据呈现出来,以便更容易理解、分析和解释,它是将抽象的数据转化为直观形象的过程,本文给大家介绍了使用Python实现炫酷的数据动态图大全,需要的朋友可以参考下
    2024-06-06
  • Python统计词频的几种方法小结

    Python统计词频的几种方法小结

    本文主要介绍了Python统计词频的几种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python IDLE添加行号显示教程

    python IDLE添加行号显示教程

    这篇文章主要介绍了python IDLE添加行号显示教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python数据分析基础之pandas中loc()与iloc()的介绍与区别介绍

    python数据分析基础之pandas中loc()与iloc()的介绍与区别介绍

    我们经常在寻找数据的某行或者某列的时常用到Pandas中的两种方法iloc和loc,两种方法都接收两个参数,第一个参数是行的范围,第二个参数是列的范围,这篇文章主要介绍了python数据分析基础之pandas中loc()与iloc()的介绍与区别,需要的朋友可以参考下
    2024-07-07

最新评论