利用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序列操作之进阶篇
Dec 08 Python
浅谈Python2获取中文文件名的编码问题
Jan 09 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
Apr 27 Python
python求解数组中两个字符串的最小距离
Sep 27 Python
Python 学习教程之networkx
Apr 15 Python
django-rest-framework 自定义swagger过程详解
Jul 18 Python
pygame实现俄罗斯方块游戏(基础篇2)
Oct 29 Python
使用python实现对元素的长截图功能
Nov 14 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 Python
python+adb命令实现自动刷视频脚本案例
Apr 23 Python
python 引用传递和值传递详解(实参,形参)
Jun 05 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 07 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
杏林同学录(八)
2006/10/09 PHP
php socket方式提交的post详解
2008/07/19 PHP
Smarty中调用FCKeditor的方法
2014/10/27 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
webpack打包js的方法
2018/03/12 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
在Python中操作字符串之rstrip()方法的使用
2015/05/19 Python
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
python numpy元素的区间查找方法
2018/11/14 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
介绍一下Make? 为什么使用make
2013/12/08 面试题
大学生校园创业计划书
2014/02/08 职场文书
铁路安全事故反思
2014/04/26 职场文书
市场营销策划方案
2014/06/11 职场文书
金融专业求职信
2014/08/05 职场文书
工作调动申请报告
2015/05/18 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers
mysql查看表结构的三种方法总结
2022/07/07 MySQL