利用python在大量数据文件下删除某一行的例子


Posted in Python onAugust 21, 2019

python修改大数据文件时,如果全加载到内存中,可能会导致内存溢出。因此可借用如下方法,将分件分段读取修改。

with open('file.txt', 'r') as old_file:
  with open('file.txt', 'r+') as new_file:

    current_line = 0

    # 定位到需要删除的行
    while current_line < (3 - 1): #(del_line - 1)
      old_file.readline()
      current_line += 1

    # 当前光标在被删除行的行首,记录该位置
    seek_point = old_file.tell()

    # 设置光标位置
    new_file.seek(seek_point, 0)

    # 读需要删除的行,光标移到下一行行首
    old_file.readline()

    # 被删除行的下一行读给 next_line
    next_line = old_file.readline()

    # 连续覆盖剩余行,后面所有行上移一行
    while next_line:
      new_file.write(next_line)
      next_line = old_file.readline()

    # 写完最后一行后截断文件,因为删除操作,文件整体少了一行,原文件最后一行需要去掉
    new_file.truncate()

注:truncate()函数括号可以加数字,表示删除数字之后的字符串,如果不加 就从当前光标处开始截断删除

以上这篇利用python在大量数据文件下删除某一行的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 模块EasyGui详细介绍
Feb 19 Python
Python排序搜索基本算法之冒泡排序实例分析
Dec 09 Python
基于scrapy的redis安装和配置方法
Jun 13 Python
python实现将一个数组逆序输出的方法
Jun 25 Python
Python OpenCV处理图像之图像直方图和反向投影
Jul 10 Python
基于python实现简单日历
Jul 28 Python
Python OpenCV实现视频分帧
Jun 01 Python
python中的协程深入理解
Jun 10 Python
Python读取实时数据流示例
Dec 02 Python
Python模块future用法原理详解
Jan 20 Python
python如何编写类似nmap的扫描工具
Nov 06 Python
Python jieba库分词模式实例用法
Jan 13 Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 #Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 #Python
Python 使用指定的网卡发送HTTP请求的实例
Aug 21 #Python
Python turtle绘画象棋棋盘
Aug 21 #Python
Python随机函数库random的使用方法详解
Aug 21 #Python
Django+zTree构建组织架构树的方法
Aug 21 #Python
python的移位操作实现详解
Aug 21 #Python
You might like
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
php的ajax框架xajax入门与试用介绍
2010/12/19 PHP
apache php模块整合操作指南
2012/11/16 PHP
php实现最简单的MVC框架实例教程
2014/09/08 PHP
浅谈php的优缺点
2015/07/14 PHP
php技术实现加载字体并保存成图片
2015/07/27 PHP
jquery提示 &quot;object expected&quot;的解决方法
2009/12/13 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
玩转方法:call和apply
2014/05/08 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
2017/06/16 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
laydate只显示时分 不显示秒的功能实现方法
2019/09/28 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
python 接口_从协议到抽象基类详解
2017/08/24 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
tf.concat中axis的含义与使用详解
2020/02/07 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
CSS3 实现穿梭星空动画
2020/11/13 HTML / CSS
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
介绍下Java中==和equals的区别
2013/09/01 面试题
趣味活动策划方案
2014/02/08 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
安全演讲稿开场白
2014/08/25 职场文书
卖房协议书样本
2014/10/30 职场文书
redis requires ruby version2.2.2的解决方案
2021/07/15 Redis
python 中的jieba分词库
2021/11/23 Python
Python实现为PDF去除水印的示例代码
2022/04/03 Python