python:从众多.txt文件中将 标签2 改为标签1 。

本文介绍了一种使用Python批量修改特定目录下文本文件中标签类别的方法,特别关注于将标签2替换为标签1的过程。通过读取文件路径,加载数据并检查维度,如果标签为2,则将其更改为1,然后保存更新后的数据。此方法适用于对象检测中的标签调整。
# -*- coding: utf-8 -*-
"""
将 标签2 的car 改为标签1

Created on Sun Feb 24 13:25:43 2019

@author: QinLong
"""

import os
import numpy as np 

label_path = 'F:\\Object_Detection\\Annotations\\txt\\'
new_label = 'F:\\Object_Detection\\Annotations\\final\\'
label_name = os.listdir(label_path)
new_name = label_name
label_data = []

for i in range(len(label_name)):
    new_name = label_name[i]
    label_name[i] = label_path + label_name[i]
    label_data = np.loadtxt(label_name[i])
    new_name = new_label + new_name
    
    if label_data.ndim == 1:
        if label_data.size > 0:
            if label_data[0] == 2:
                label_data[0] = 1
                label_data = np.array([label_data]) 
                # 一维转二维  否则因为np.array 储存数据的方式 导致保存数据格式不对
                
                with open(new_name,"a+") as f:
#                for j in range(len(label_data)):
#                    f.write(label_data[j])
                    np.savetxt(new_name,label_data,fmt=''.join(['%d'] + [' %0.6f']*4),delimiter='  ')

    else:
        for j in range(len(label_data)):
            if label_data[j][0] == 2:
                label_data[j][0] = 1 
            #可设定计数是否 重写原数据    
        with open(new_name,"a+") as f:
            np.savetxt(new_name,label_data,fmt=''.join(['%d'] + [' %0.6f']*4),delimiter='  ')
            #np.savetxt :写入会清空文件原内容
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值