利用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单元测试unittest实例详解
May 11 Python
对matplotlib改变colorbar位置和方向的方法详解
Dec 13 Python
python 获取微信好友列表的方法(微信web)
Feb 21 Python
Python后台开发Django的教程详解(启动)
Apr 08 Python
python3中property使用方法详解
Apr 23 Python
Jacobi迭代算法的Python实现详解
Jun 29 Python
numpy创建单位矩阵和对角矩阵的实例
Nov 29 Python
python 函数嵌套及多函数共同运行知识点讲解
Mar 03 Python
Django-migrate报错问题解决方案
Apr 21 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
Jul 30 Python
python删除文件、清空目录的实现方法
Sep 23 Python
一文带你了解Python 四种常见基础爬虫方法介绍
Dec 04 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
怎样在php中使用PDF文档功能
2006/10/09 PHP
php 验证码实例代码
2010/06/01 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
2010/03/23 Javascript
菜鸟javascript基础资料整理3 正则
2010/12/06 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
jQuery实现本地存储
2020/12/22 jQuery
python发送邮件脚本
2018/05/22 Python
python 把列表转化为字符串的方法
2018/10/23 Python
django解决跨域请求的问题详解
2019/01/20 Python
django中media媒体路径设置的步骤
2019/11/15 Python
python中有帮助函数吗
2020/06/19 Python
python图片合成的示例
2020/11/09 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
做一个能自适应高度的textarea的示例代码
2019/09/06 HTML / CSS
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
Ruby如何进行文件操作
2014/07/17 面试题
偷看我的初中毕业鉴定
2014/01/29 职场文书
总经理司机岗位职责
2014/02/06 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
铁路安全事故反思
2014/04/26 职场文书
我有一个梦想演讲稿
2014/05/05 职场文书
银行求职自荐书
2014/06/25 职场文书
迎国庆横幅标语
2014/10/08 职场文书
六五普法学习心得体会
2016/01/21 职场文书
springboot+VUE实现登录注册
2021/05/27 Vue.js
实例讲解Python中sys.argv[]的用法
2021/06/03 Python
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL