m0_59203201 2023-03-31 16:29 采纳率: 100%
浏览 39
已结题

python txt内容批量处理

img


一共20万行,将i*20+16 17 18 19这4万行修改为五个0,间隔三个空格

  • 写回答

3条回答 默认 最新

  • a5156520 2023-03-31 19:21
    关注

    可以读取数据文件所有行后,再循环遍历每一行,当是指定行数数据时,则用5个0来代替,其他行正常复制。

    下面的代码,先产生了20万行的测试数据文件,然后再读取这个文件内容,把指定行数的数据用5个0代替,其他行正常复制,都写入到另一个文件。

    测试代码如下:

    参考链接:





    
    
    import random
    
    # https://blog.csdn.net/qq_44732742/article/details/124506009
    #  第一部分,  用于产生20万行的测试数据,如果已经有数据,则可以去除此部分代码
    with open("datas0331.txt","w") as file:
        
        for j in range(200000):
            for i in range(5):
                # https://blog.csdn.net/m0_72893325/article/details/129533250
                # https://www.zhangshilong.cn/work/232672.html
                data = round(random.uniform(100,65536),2)
                file.write(str(data))
                if i< 4:
                    file.write("   ")
                if i==4 and j!=199999:
                    file.write("\n")
    
    # 第二部分,执行数据文件替换,然后把数据写入另一个文件,如果已经有数据文件,只需要部分代码
    # https://www.ycpai.cn/python/TkKfBw67.html
    resultFile= open("datas0331Result.txt","w")# 把修改后的数据写入另一个文件
    
    i=1  # 从第一行开始   
    with open("datas0331.txt","r") as readFile: # 打开测试数据文件,读取数据
    
        # https://blog.csdn.net/i1024i/article/details/129519066
        for line in readFile.readlines(): # 遍历测试文件的每一行
             # 当是指定行数的数据时,用5个0来代替这一行
            if ((i-16)%20==0 or  (i-17)%20==0 or (i-18)%20==0 or (i-19)%20==0 )and i>=36:
                resultFile.write("0   0   0   0   0\n")   
            else: # 其他行原样复制
                resultFile.write(line)
            i=i+1 
           
    resultFile.close()        
          
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月13日
  • 已采纳回答 4月5日
  • 创建了问题 3月31日

悬赏问题

  • ¥15 微信小程序 用oss下载 aliyun-oss-sdk-6.18.0.min client报错
  • ¥15 ArcGIS批量裁剪
  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥15 抖音看过的视频,缓存在哪个文件