python大数据学习顺序(Python如何处理大数据?3个技巧效率提升攻略推荐)
python大数据学习顺序
Python如何处理大数据?3个技巧效率提升攻略推荐如果你有个5、6 g 大小的文件,想把文件内容读出来做一些处理然后存到另外的文件去,你会使用什么进行处理呢?不用在线等,给几个错误示范:有人用multiprocessing 处理,但是效率非常低。于是,有人用python处理大文件还是会存在效率上的问题。因为效率只是和预期的时间有关,不会报错,报错代表程序本身出现问题了~
所以,为什么用python处理大文件总有效率问题?
如果工作需要,立刻处理一个大文件,你需要注意两点:
01、大型文件的读取效率
面对100w行的大型数据,经过测试各种文件读取方式,得出结论:
|
with open (filename, "rb" ) as f: for fline in f: pass |
方式最快,100w行全遍历2.7秒。
基本满足中大型文件处理效率需求。如果rb改为r,慢6倍。但是此方式处理文件,fline为bytes类型。但是python自行断行,仍旧能很好的以行为单位处理读取内容。
02、文本处理效率问题
这里举例ascii定长文件,因为这个也并不是分隔符文件,所以打算采用列表操作实现数据分割。但是问题是处理20w条数据,时间急剧上升到12s。本以为是byte.decode增加了时间。遂去除decode全程bytes处理。但是发现效率还是很差。
最后用最简单方式测试,首次运行,最简单方式也要7.5秒100w次。
想知道这个方式处理的完整代码是什么吗?扫描文末二维码,联系小编可以获取哦~
那么关于python处理大文件的技巧,从网络整理三点:列表、文件属性、字典三个点来看看。
1.列表处理
def fun(x):尽量选择集合、字典数据类型,千万不要选择列表,列表的查询速度会超级慢,同样的,在已经使用集合或字典的情况下,不要再转化成列表进行操作,比如:
|
values_count = 0 # 不要用这种的 if values in dict .values(): values_count + = 1 # 尽量用这种的 if keys,values in dict : values_count + = 1 |
后者的速度会比前者快好多好多。
2. 对于文件属性
如果遇到某个文件,其中有属性相同的,但又不能进行去重操作,没有办法使用集合或字典时,可以增加属性,比如将原数据重新映射出一列计数属性,让每一条属性具有唯一性,从而可以用字典或集合处理:
|
return '(' + str (x) + ', 1)' list ( map (fun,[ 1 , 2 , 3 ])) |
使用map函数将多个相同属性增加不同项。
3. 对于字典
多使用iteritems()少使用items(),iteritems()返回迭代器:
|
>>> d = { 'a' : 1 , 'b' : 2 } >>> for i in d.items() : .... print i ( 'a' , 1 ) ( 'b' , 2 ) >>> for k,v in d.iteritems() : ... print k,v ( 'a' , 1 ) ( 'b' , 2 ) |
字典的items函数返回的是键值对的元组的列表,而iteritems使用的是键值对的generator,items当使用时会调用整个列表 iteritems当使用时只会调用值。
除了以下5个python使用模块,你还有什么技巧解决大文件运行效率的问题吗?深入了解更多python实用模块,快速提升工作效率~
读写文件技术,今后会用到测试数据的参数化和测试报告写作功能中~
数据处理技术,今后测试脚本的测试数据处理过程可以用到~
数据统计分析技术,今后会在测试结果分析中用到
图表展示技术,在今后的测试框架中相关测试报告会用到
程序自动触发技术,可用于测试脚本程序的自动执行。
以上所述是小编给大家介绍的python如何处理大数据?3个技巧效率提升攻略详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
原文链接:https://blog.csdn.net/c710473510/article/details/89191364
- python画折线图(python使用Plotly绘图工具绘制水平条形图)
- python学生管理系统与数据库(python学生管理系统学习笔记)
- python定时任务详解(使用Python做定时任务及时了解互联网动态)
- python多进程与多线程详解(Python线程之定位与销毁的实现)
- python中怎么查看函数的用法(Python中函数的基本定义与调用及内置函数详解)
- python解析excel例子(Python玩转Excel的读写改实例)
- pythondocx安装教程(Python docx库用法示例分析)
- python学生信息管理系统教程(学生信息管理系统Python面向对象版)
- wxpython 弹出对话框显示图片(WxPython建立批量录入框窗口)
- python停止执行的代码(python定时检测无响应进程并重启的实例代码)
- python判断对象是否是某一类型(Python判断对象是否相等及eq函数的讲解)
- python3目录操作(Python3 pip3 list 出现 DEPRECATION 警告的解决方法)
- python爬取酷狗收费音乐(python爬取酷狗音乐排行榜)
- zabbix sender能否发送告警数据(python3实现zabbix告警推送钉钉的示例)
- python远程下发shell指令(Python实现堡垒机模式下远程命令执行操作示例)
- python按顺序遍历字典(Python字典遍历操作实例小结)
- 《红 雄安》系列广播剧第一集 水上奇兵雁翎队(雄安系列广播剧第一集)
- 小说 小伙穿越成刘备,用现代知识指挥作战,众谋士都看呆了(小伙穿越成刘备)
- 解析葡萄牙6-1瑞士 进攻多点开花,贡萨洛-拉莫斯一战成名(解析葡萄牙6-1瑞士)
- 这支 奇兵队 腕大 有范儿还各怀绝技,毒贩杀人犯见了都要仓皇而逃(这支奇兵队腕大)
- 雄藩崛起 奇兵队与幕末长州藩军事改革(雄藩崛起奇兵队与幕末长州藩军事改革)
- 九月初,爱如蜜糖,甜到心扉,迷恋彼此,一日不见兮,思之若狂(九月初爱如蜜糖)
热门推荐
- canvas 裁剪画布(Canvas图片分割效果的实现)
- dedecms文章点击量(Dedecms文章标题及文章摘要长度修改的方法)
- js如何解决iphone异形屏适配(Html5适配iphoneX刘海屏的简单实现)
- pythonhtml文件转换成pdf库(Python3转换html到pdf的不同解决方案)
- django删掉模型的字段(django中ORM模型常用的字段的使用方法)
- 阿里云服务器扩容了怎么恢复(一条命令解决阿里云服务器系统盘空间不足问题)
- vuevlog制作软件(Vue实现Dialog封装)
- vscode报错提示框(关于在vscode使用webpack指令显示"因为在此系统中禁止运行脚本"问题)
- vue 动态绑定指令(vue动态绑定图标的完整步骤)
- dedecms标签怎么调用(DEDECMS自定义表单提交后的跳转链接修改方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9