利用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 thread 并发且顺序运行示例
Apr 09 Python
Python中Random和Math模块学习笔记
May 18 Python
Python处理json字符串转化为字典的简单实现
Jul 07 Python
Python 互换字典的键值对实例
Feb 12 Python
详解Python_shutil模块
Mar 15 Python
对PyQt5的输入对话框使用(QInputDialog)详解
Jun 25 Python
Python写出新冠状病毒确诊人数地图的方法
Feb 12 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
Python如何获取文件指定行的内容
May 27 Python
pytorch读取图像数据转成opencv格式实例
Jun 02 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 Python
Python3中的tuple函数知识点讲解
Jan 03 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小马小结(方便查找后门的朋友)
2012/05/05 PHP
PHP5中实现多态的两种方法实例分享
2014/04/21 PHP
php实现插入排序
2015/03/29 PHP
php 多个变量指向同一个引用($b = &amp;$a)用法分析
2019/11/13 PHP
jQuery统计上传文件大小的方法
2015/01/24 Javascript
每天一篇javascript学习小结(Function对象)
2015/11/16 Javascript
原生JS封装Ajax插件(同域、jsonp跨域)
2016/05/03 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
使用Vue构建可重用的分页组件
2018/03/26 Javascript
JavaScript控制浏览器全屏显示简单示例
2018/07/05 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python自定义主从分布式架构实例分析
2016/09/19 Python
答题辅助python代码实现
2018/01/16 Python
Python列表与元组的异同详解
2019/07/02 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
2020/07/14 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
Python进行统计建模
2020/08/10 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
前端实现打印图像功能
2019/08/27 HTML / CSS
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
计算机系毕业生推荐信
2013/11/06 职场文书
优秀民警事迹材料
2014/01/29 职场文书
初中军训感想300字
2014/03/05 职场文书
党支部综合考察材料
2014/05/19 职场文书
学生检讨书如何写
2014/10/30 职场文书
委托书格式范文
2015/01/28 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP