欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

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

时间:2020-10-08 13:25:54|栏目:Python代码|点击:

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 requests库中的代理实例讲解

栏    目:Python代码

下一篇:python中的全局变量用法分析

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

本文地址:http://www.codeinn.net/misctech/8305.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有