.json-->.txt&修改.txt

.json-->.txt 

将将​​​​​​​目标检测数据集格式转换:将labelme格式转为YOLO以及VOC格式

修改.txt

import os

path = ""  # 需改的txt文件的路径
filenames = os.listdir(path)  # 将所有txt文件的文件名用filename储存起来

for filename in filenames:  # 遍历所有txt文件
    position = path + '/' + filename  # 获取绝对路径 '\\'有一个斜杠是转义符
    # print(position) #此行代码不注释可用于检查绝对路径是否正确

    with open(position) as f:
        lines = f.readlines()  # 以行为单位读取txt文件中的内容
        s = [line[:-1].split(' ') for line in lines]  # 以空格为标志分割txt中每行的内容,并以列表的方式储存在s中
        # print(s) #取消注释可以看是否成功分行分元素储存

        for i in range(len(s)):  # 遍历s的每一行
            # print(s[i][0]) #取消注释可看每一行的第一个元素是多少
            if s[i][0] == "0.000000000000000000e+00":
                s[i][0] = "0"
            # s[i][0] = '0'  # 如果每一行的第一个元素为1,也就是分类的标签为1,则将其修改成0
            # print(s) #取消注释可查看是否成功将第一列全修改为0

            with open(position, 'w', encoding='utf-8') as f:  # 将修改完的s写入到txt文件当中
                for j in range(len(s)):  # 此处采用先按行读取,再按列一个一个元素读取
                    for k in range(len(s[j])):
                        f.write((s[j][k] + ' '))  # 写入的每一个元素都以空格隔开,因此需要+' '
                    f.write("\n")  # 写完一行之后需要换行

猜你喜欢

转载自blog.csdn.net/qq_41804812/article/details/130320798
txt