首页 > 其他分享 >删除文件中每个标签最后几行数据

删除文件中每个标签最后几行数据

时间:2022-12-30 17:12:44浏览次数:41  
标签:temp 删除 标签 list 几行 values file dict

文本文件中有两列
第一列是标签
第二列是对应的值
使用逗号分隔
例如:2,1+1
但因为一些问题,这个标签并不是每行都一一对应的,每个标签的后5行是错误的,所以需要删除这5行
例如:

2,1+1
2,3-1
2,1+2 错误数据
2,1+3 错误数据
2,1+4 错误数据
2,1+5 错误数据
2,1+6 错误数据
3,1+2
...

上面例子中

2,1+2
2,1+3
2,1+4
2,1+5
2,1+6

是问题数据,需要删除,下面上代码

# 打开存在错误数据的文件
dict_file = open('dictionary.csv','r',encoding='utf-8')
dict_values = dict_file.readlines()
dict_file.close()
# 这个是写入处理后数据的文件
dict_file_correct = open('dictionary_correct.csv','w',encoding='utf-8')
# 定义一个临时列表,初始化值是错误数据文件的第一行,因为不定义初始化的话会丢掉第一行数据
temp_list = [dict_values[0]]
# 使用行索引读取数据,这样可以用当前行和迁移行的标签做比较
for n in range(1,len(dict_values)):
  line_list = dict_values[n].strip().split(',') #用逗号拆分出标签和值
  line_list_last = dict_values[n-1].strip().split(',') #拆分前一行的标签和值
  temp_list.append(dict_values[n]) #行内容插入临时列表中
  # 如果当前行标签和上一行的标签不一样了,证明前面的标签读完了
  if line_list[0] != line_list_last[0]:
    # 只读取临时列表中的1到len(temp_list)-(5+1)行,+1行是因为读到新的标签行了
    for nn in range(len(temp_list) - 6):
      dict_file_correct.write(temp_list[nn]) #把内容写入到文件里
    temp_list = [dict_values[n]] #重新初始化临时列表
dict_file_correct.close()

 

标签:temp,删除,标签,list,几行,values,file,dict
From: https://www.cnblogs.com/xiu123/p/17015364.html

相关文章

  • label标签
      假如我们现在需要进行年龄调查,每个年龄前面有个小点,每次我们需要点击那个小点才能选中,这样是非常不方便的,所以我们可以使用label标签,当我们点击一些文本时,浏览器会自......
  • WordPress右侧边栏添加彩色标签
    摘要玩WordPress建博客的朋友都知道标签的重要性,虽然知更鸟的Begin主题自动了非常不错的3D动态标签,不过仍然有人喜欢静态的标签,不过我今天给大家推荐的《右侧边栏添加彩色标......
  • activiti删除某个流程对应的实例数据sql
    #根据流程key查询所有的流程实例id(历史和运行时)SELECTGROUP_CONCAT(t.PROC_INST_ID_)FROM(SELECTPROC_INST_ID_FROMACT_RU_TASKwhereINSTR(PROC_DEF_ID_,'d......
  • Microsoft 365 开发:如何用脚本删除个人邮箱和共享邮箱的权限
    Blog链接:​​​https://blog.51cto.com/13969817​​在日常维护和管理中,删除现有邮箱权限也是Exchange管理的重要任务之一。今天本文将给大家分享使用Remove-MailboxPermiss......
  • redis 批量删除key
    以14号库为例,8号库照猫画虎即可1.首先先尝试连接redis,-h指定地址-p指定端口-n指定第几个库切记不要先执行keys*,可以先执行dbsize查看一下key的数量再决定是否执行......
  • 如何删除PDF文档里的空白页
    日常工作生活中我们经常使用PDF,有时候你会发现PDF文档里面有一页或者好几页空白文档,很多人不知道如何删除这些空白页。网上众多的解决方案中,能解决这个问题的软件大都是收费......
  • Vue3:路由跳转产生默认a标签问题
    解决方案:在对应的标签下,添加a标签的默认设置例:   ......
  • git如何删除子模块
    删除子模块:(分4步走)1)$gitrm--cached[path]根据路径删除子模块的记录2)编辑“.gitmodules”文件,将子模块的相关配置节点删除掉清理子模块配置3)编辑“.......
  • Macbook M2删除ACCFinderBundleLoader
    进入该文件:(这个目录每个人的电脑可能有点区别)folders下面不一定是37。(像我的电脑就是80)(可以使用ls查看文件下的所有文件)cd/private/var/folders/37/txl0523d74bgps8t0j......
  • yoloV1 bbox标签转换为yolo
    importnumpyasnpdefconvert_bbox2labels(bboxes):""":parambboxes:(N,5)的bbox信息列表:return:(30,7,7)的yolov1格式的label,需要将(cls_index,dx......