利用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生成验证码图片代码分享
Jan 28 Python
详解Python logging调用Logger.info方法的处理过程
Feb 12 Python
详解Python的三种可变参数
May 08 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
Jul 15 Python
如何使用python操作vmware
Jul 27 Python
python 并发编程 非阻塞IO模型原理解析
Aug 20 Python
Python实现计算图像RGB均值方式
Jun 04 Python
python获取本周、上周、本月、上月及本季的时间代码实例
Sep 08 Python
python实现canny边缘检测
Sep 14 Python
Python 利用flask搭建一个共享服务器的步骤
Dec 05 Python
python 视频下载神器(you-get)的具体使用
Jan 06 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 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中数据的批量导入(csv文件)
2006/10/09 PHP
PHP中基本符号及使用方法
2010/03/23 PHP
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
php中require和require_once的区别说明
2014/02/27 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
jtable列中自定义button示例代码
2013/11/21 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
2020/03/13 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
pycharm 使用心得(六)进行简单的数据库管理
2014/06/06 Python
用Python的Flask框架结合MySQL写一个内存监控程序
2015/11/07 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
Python使用Matlab命令过程解析
2020/06/04 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
努比亚手机官网:nubia
2016/10/06 全球购物
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
存储过程和函数的区别
2013/05/28 面试题
《童年》教学反思
2014/02/18 职场文书
篮球赛口号
2014/06/18 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
2015年保洁员工作总结
2015/05/04 职场文书
初中团委工作总结
2015/08/13 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
初三数学教学反思
2016/02/17 职场文书
Spring Boot实现文件上传下载
2022/08/14 Java/Android