• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python读大数据txt

Python读大数据txt

作者:hebedich 字体:[增加 减小] 来源:互联网

hebedich 通过本文主要向大家介绍了python读取txt数据,python导入txt数据,python txt数据整理,python处理txt数据,python读串口数据等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

如果直接对大文件对象调用 read() 方法,会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。即通过yield。

    在用Python读一个两个多G的txt文本时,天真的直接用readlines方法,结果一运行内存就崩了。

    还好同事点拨了下,用yield方法,测试了下果然毫无压力。咎其原因,原来是readlines是把文本内容全部放于内存中,而yield则是类似于生成器。

代码如下:

def open_txt(file_name):
  with open(file_name,'r+') as f:
    while True:
      line = f.readline()
      if not line:
        return
      yield line.strip()
</div>

调用实例:

for text in open_txt('aa.txt'):
  print text

</div>

例二:

目标 txt 文件大概有6G,想取出前面1000条数据保存于一个新的 txt 文件中做余下的操作,虽然不知道这样做有没有必要但还是先小数据量测试一下吧。参考这个帖子:我想把一个list列表保存到一个Txt文档,该怎么保存 ,自己写了一个简单的小程序。
====================================================

import datetime
import pickle

start = datetime.datetime.now()
print "start--%s" % (start)

fileHandle = open ( 'train.txt' )
file2 = open('s_train.txt','w') 

i = 1
while ( i < 10000 ):
  a = fileHandle.readline()
  file2.write(''.join(a)) 
  i = i + 1

fileHandle.close() 
file2.close()

print "done--%s" % ( datetime.datetime.now() - start)

if __name__ == '__main__':
  pass

</div>

====================================================
pickle 这个库大家说的很多,官网看看,后面可以好好学习一下。

</div>

您可能想查找下面的文章:

  • Python读大数据txt

相关文章

  • 用Python编写一个基于终端的实现翻译的脚本
  • python文件和目录操作函数小结
  • python操作ssh实现服务器日志下载的方法
  • python中常用的九种预处理方法分享
  • Python多线程编程(八):使用Event实现线程间通信
  • 小小聊天室Python代码实现
  • 浅析Python基础-流程控制
  • 简化Python的Django框架代码的一些示例
  • 在Django中使用Sitemap的方法讲解
  • Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python3.3实现乘法表示例
    • python多线程编程中的join函数使用心得
    • python学习笔记之调用eval函数出现invalid syntax错误问题
    • 400多行Python代码实现了一个FTP服务器
    • 动态创建类实例代码
    • python实现基本进制转换的方法
    • Python 搭建Web站点之Web服务器与Web框架
    • Python自动化运维和部署项目工具Fabric使用实例
    • python多重继承实例
    • python进阶教程之动态类型详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有